Class: Ari::Generators::Model

Inherits:
Object
  • Object
show all
Defined in:
lib/ari/generators/model.rb

Instance Method Summary collapse

Constructor Details

#initialize(klass_name, resource, specification) ⇒ Model

Returns a new instance of Model.



5
6
7
8
9
# File 'lib/ari/generators/model.rb', line 5

def initialize(klass_name, resource, specification)
  @klass_name = klass_name
  @resource = resource
  @specification = specification
end

Instance Method Details

#descriptionObject



19
20
21
# File 'lib/ari/generators/model.rb', line 19

def description
  @specification['description']
end

#inherits_fromObject



31
32
33
34
# File 'lib/ari/generators/model.rb', line 31

def inherits_from
  inherits_from_model = @resource.models.detect { |m| m.sub_types.include?(klass_name) }
  inherits_from_model ? inherits_from_model.klass_name : 'Model'
end

#klass_nameObject



15
16
17
# File 'lib/ari/generators/model.rb', line 15

def klass_name
  @klass_name
end

#nameObject



11
12
13
# File 'lib/ari/generators/model.rb', line 11

def name
  klass_name.underscore
end

#propertiesObject



23
24
25
# File 'lib/ari/generators/model.rb', line 23

def properties
  @properties ||= @specification['properties'].map { |name, options| Property.new(name, options) }
end

#sub_typesObject



27
28
29
# File 'lib/ari/generators/model.rb', line 27

def sub_types
  @specification['subTypes'] || []
end