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  }