github.com/walf443/mgr@v0.0.0-20150203144449-6f7a3a548462/cli/rails.go (about) 1 package main 2 3 import ( 4 "io/ioutil" 5 "os" 6 "gopkg.in/yaml.v2" 7 ) 8 9 type RubyOnRailsFramework struct { 10 } 11 12 func (f *RubyOnRailsFramework) DetectFramework() bool { 13 file, err := os.Open(f.GetSchemaFile()) 14 defer file.Close() 15 if os.IsNotExist(err) { 16 return false 17 } 18 return true 19 } 20 21 func (f *RubyOnRailsFramework) GetSchemaFile() string { 22 return "db/schema.sql" 23 } 24 25 func (f *RubyOnRailsFramework) GetDatabaseConnectionSettingFile() string { 26 return "config/database.yml" 27 } 28 29 func (f *RubyOnRailsFramework) loadDBConfig() (string, error) { 30 buf, err := ioutil.ReadFile(f.GetDatabaseConnectionSettingFile()) 31 if err != nil { 32 return "", err 33 } 34 m := make(map[interface{}]interface{}) 35 err = yaml.Unmarshal(buf, &m) 36 if err != nil { 37 return "", err 38 } 39 40 return "TODO", nil 41 } 42 43 func (f *RubyOnRailsFramework) GetSchema() (string, error) { 44 bytes, err := ioutil.ReadFile(f.GetSchemaFile()) 45 if err != nil { 46 return "", nil 47 } 48 return string(bytes), nil 49 } 50 51 func (f *RubyOnRailsFramework) GetCurrentSchema() (string, error) { 52 return "", nil 53 }