Module: RampModel

Defined in:
lib/ramp_model.rb,
lib/ramp_model/version.rb

Constant Summary collapse

VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.compose_script(model) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/ramp_model.rb', line 41

def self.compose_script model
  script = "rails g model #{model["name"]}"
  model["fields"].each do |field|
    script << " #{field["field"]}:#{field["type"]}"
  end
  return script
end

.generate(url) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/ramp_model.rb', line 6

def self.generate url
  # @ramp = JSON.parse(RestClient.get("http://#{url}"))
  @ramp = {
    "status" => "200",
    "database" => "postgres",
    "models" => [
      {
        "name" => "user",
        "fields" => [
          {
            "field" => "username",
            "type" => "string"
          },
          {
            "field" => "email",
            "type" => "string"
          }
        ]
      }
    ]
  }
  # check if status is 200
  puts "===== Generating Models ====="
  if(@ramp["status"] == "200")
    @ramp["models"].each do |model|
      script = compose_script model
      puts "#{script}"
      exec("#{script}")
      puts "Done"
    end
  else
    #Rails.logger.info("Error Occured!")
  end
end