rails_age 0.5.2 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -10
  3. data/README.md +108 -57
  4. data/config/initializers/types.rb +20 -0
  5. data/lib/apache_age/edge.rb +5 -0
  6. data/lib/apache_age/entities/common_methods.rb +6 -0
  7. data/lib/apache_age/entities/edge.rb +4 -3
  8. data/lib/apache_age/entities/node.rb +53 -0
  9. data/lib/apache_age/entities/vertex.rb +47 -47
  10. data/lib/apache_age/node.rb +36 -0
  11. data/lib/apache_age/types/{age_type_generator.rb → factory.rb} +3 -3
  12. data/lib/apache_age/validators/expected_node_type.rb +17 -0
  13. data/lib/apache_age/validators/node_type_validator.rb +15 -0
  14. data/lib/apache_age/validators/unique_node.rb +32 -0
  15. data/lib/apache_age/validators/unique_vertex.rb +27 -27
  16. data/lib/apache_age/validators/vertex_type_validator.rb +14 -13
  17. data/lib/generators/apache_age/edge/USAGE +7 -7
  18. data/lib/generators/apache_age/edge/edge_generator.rb +1 -0
  19. data/lib/generators/apache_age/edge/templates/edge.rb.tt +3 -3
  20. data/lib/generators/apache_age/generator_entity_helpers.rb +6 -11
  21. data/lib/generators/apache_age/node/USAGE +4 -4
  22. data/lib/generators/apache_age/node/node_generator.rb +1 -1
  23. data/lib/generators/apache_age/node/templates/node.rb.tt +2 -2
  24. data/lib/generators/apache_age/scaffold_edge/USAGE +16 -0
  25. data/lib/generators/apache_age/scaffold_edge/scaffold_edge_generator.rb +66 -0
  26. data/lib/generators/apache_age/scaffold_edge/templates/controller.rb.tt +50 -0
  27. data/lib/generators/apache_age/{scaffold_node/templates/views/_form.html.erb copy.tt → scaffold_edge/templates/views/_form.html.erb.tt} +10 -0
  28. data/lib/generators/apache_age/{scaffold_node/templates/views/index.html.erb copy.tt → scaffold_edge/templates/views/index.html.erb.tt} +1 -1
  29. data/lib/generators/apache_age/{scaffold_node/templates/views/partial.html.erb copy.tt → scaffold_edge/templates/views/partial.html.erb.tt} +11 -2
  30. data/lib/generators/apache_age/{scaffold_node/templates/views/show.html.erb copy.tt → scaffold_edge/templates/views/show.html.erb.tt} +1 -1
  31. data/lib/generators/apache_age/scaffold_node/scaffold_node_generator.rb +20 -22
  32. data/lib/rails_age/version.rb +1 -1
  33. data/lib/rails_age.rb +7 -4
  34. data/lib/tasks/config_types.rake +8 -8
  35. metadata +48 -10
  36. /data/lib/generators/apache_age/{scaffold_node/templates/views/edit.html.erb copy.tt → scaffold_edge/templates/views/edit.html.erb.tt} +0 -0
  37. /data/lib/generators/apache_age/{scaffold_node/templates/views/new.html.erb copy.tt → scaffold_edge/templates/views/new.html.erb.tt} +0 -0
  38. /data/lib/generators/apache_age/scaffold_node/templates/{node_controller.rb.tt → controller.rb.tt} +0 -0
@@ -1,32 +1,32 @@
1
- # lib/apache_age/validators/unique_vertex.rb
1
+ # # lib/apache_age/validators/unique_vertex.rb
2
2
 
3
- # Usage (within an Age Model)
4
- # validates_with(
5
- # ApacheAge::Validators::UniqueVertex,
6
- # attributes: [:first_name, :last_name, :gender]
7
- # )
3
+ # # Usage (within an Age Model)
4
+ # # validates_with(
5
+ # # ApacheAge::Validators::UniqueVertex,
6
+ # # attributes: [:first_name, :last_name, :gender]
7
+ # # )
8
8
 
9
- module ApacheAge
10
- module Validators
11
- class UniqueVertex < ActiveModel::Validator
12
- def validate(record)
13
- allowed_keys = record.age_properties.keys
14
- attributes = options[:attributes]
15
- return if attributes.blank?
9
+ # module ApacheAge
10
+ # module Validators
11
+ # class UniqueVertex < ActiveModel::Validator
12
+ # def validate(record)
13
+ # allowed_keys = record.age_properties.keys
14
+ # attributes = options[:attributes]
15
+ # return if attributes.blank?
16
16
 
17
- record_attribs =
18
- attributes
19
- .map { |attr| [attr, record.send(attr)] }
20
- .to_h.symbolize_keys
21
- .slice(*allowed_keys)
22
- query = record.class.find_by(record_attribs)
17
+ # record_attribs =
18
+ # attributes
19
+ # .map { |attr| [attr, record.send(attr)] }
20
+ # .to_h.symbolize_keys
21
+ # .slice(*allowed_keys)
22
+ # query = record.class.find_by(record_attribs)
23
23
 
24
- # if no match is found or if it finds itself, it's valid
25
- return if query.blank? || (query.id == record.id)
24
+ # # if no match is found or if it finds itself, it's valid
25
+ # return if query.blank? || (query.id == record.id)
26
26
 
27
- record.errors.add(:base, 'record not unique')
28
- attributes.each { record.errors.add(_1, 'property combination not unique') }
29
- end
30
- end
31
- end
32
- end
27
+ # record.errors.add(:base, 'record not unique')
28
+ # attributes.each { record.errors.add(_1, 'property combination not unique') }
29
+ # end
30
+ # end
31
+ # end
32
+ # end
@@ -1,14 +1,15 @@
1
- module ApacheAge
2
- module VertexTypeValidator
3
- def vertex_attribute(attribute_name, type_symbol, klass)
4
- attribute attribute_name, type_symbol
1
+ # module ApacheAge
2
+ # module VertexTypeValidator
3
+ # def
4
+ # # Register the AGE typesvertex_attribute(attribute_name, type_symbol, klass)
5
+ # attribute attribute_name, type_symbol
5
6
 
6
- validate do
7
- value = send(attribute_name)
8
- unless value.is_a?(klass)
9
- errors.add(attribute_name, "must be a #{klass.name}")
10
- end
11
- end
12
- end
13
- end
14
- end
7
+ # validate do
8
+ # value = send(attribute_name)
9
+ # unless value.is_a?(klass)
10
+ # errors.add(attribute_name, "must be a #{klass.name}")
11
+ # end
12
+ # end
13
+ # end
14
+ # end
15
+ # end
@@ -23,9 +23,9 @@ Example:
23
23
  validates :employee_role, presence: true
24
24
  validates :begin_date, presence: true
25
25
 
26
- # unique node validator (remove any attributes that are not important to uniqueness)
26
+ # unique edge validator (remove any attributes that are not important to uniqueness)
27
27
  validates_with(
28
- ApacheAge::Validators::UniqueVertex,
28
+ ApacheAge::Validators::UniqueEdge,
29
29
  attributes: [:employee_role, :begin_date :start_node, :end_node]
30
30
  )
31
31
  end
@@ -35,12 +35,12 @@ Example:
35
35
  `bin/rails g apache_age:edge Animals/Cat name age:integer`
36
36
 
37
37
  This creates:
38
- `app/nodes/animals/cat.rb`
38
+ `app/edges/animals/has_cat.rb`
39
39
 
40
40
  with the contents
41
41
  ```
42
- class Animals::Cat
43
- include ApacheAge::Entities::Vertex
42
+ class Animals::HatCat
43
+ include ApacheAge::Entities::Edge
44
44
 
45
45
  attribute :name, :string
46
46
  attribute :age, :integer
@@ -48,9 +48,9 @@ Example:
48
48
  validates :name, presence: true
49
49
  validates :age, presence: true
50
50
 
51
- # unique node validator (remove any attributes that are not important to uniqueness)
51
+ # unique edge validator (remove any attributes that are not important to uniqueness)
52
52
  validates_with(
53
- ApacheAge::Validators::UniqueVertex,
53
+ ApacheAge::Validators::UniqueEdge,
54
54
  attributes: [:name, :age, :start_node, :end_node]
55
55
  )
56
56
  end
@@ -14,6 +14,7 @@ module ApacheAge
14
14
 
15
15
  source_root File.expand_path('templates', __dir__)
16
16
  argument :attributes, type: :array, default: [], banner: "field:type field:type"
17
+ class_option :skip_namespace, type: :boolean, default: true, desc: "Skip namespace 'rails_age' in generated files"
17
18
 
18
19
  def perform_task
19
20
  age_type = 'edge'
@@ -4,10 +4,10 @@ class <%= class_name %>
4
4
  <%- attributes_list.each do |attribute| -%>
5
5
  attribute :<%= attribute[:name] %>, :<%= attribute[:reference] || attribute[:type] %>
6
6
  <%- end -%>
7
- # recommendation for (start_node and end_node): change `:vertex` with the 'node' type
7
+ # recommendation for (start_node and end_node): change `:node` with the actual 'node' type
8
8
  # see `config/initializers/apache_age.rb` for the list of available node types
9
- attribute :start_node, :vertex
10
- attribute :end_node, :vertex
9
+ attribute :start_node
10
+ attribute :end_node
11
11
 
12
12
  <%- attributes_list.each do |attribute| -%>
13
13
  validates :<%= attribute[:name] %>, presence: true
@@ -3,12 +3,15 @@
3
3
  module ApacheAge
4
4
  module GeneratorEntityHelpers
5
5
  def generate_age_entity(age_type)
6
- template "#{age_type}.rb.tt", File.join(destination_root, "app/#{age_type}s", class_path, "#{file_name}.rb")
6
+ template(
7
+ "#{age_type}.rb.tt",
8
+ File.join(Rails.root, "app/#{age_type}s", class_path, "#{file_name}.rb")
9
+ )
7
10
  add_type_config
8
11
  end
9
12
 
10
13
  def destroy_age_entity(age_type)
11
- file_path = File.join(destination_root, "app/#{age_type}s", class_path, "#{file_name}.rb")
14
+ file_path = File.join(Rails.root, "app/#{age_type}s", class_path, "#{file_name}.rb")
12
15
  File.delete(file_path) if File.exist?(file_path)
13
16
  remove_type_config
14
17
  end
@@ -37,14 +40,6 @@ module ApacheAge
37
40
  end.join("\n") + "\n"
38
41
  end
39
42
 
40
- # def indented_end_namespace
41
- # return '' if parent_module.empty?
42
-
43
- # parent_module.split('::').map.with_index do |_, index|
44
- # "#{' ' * (parent_module.split('::').length - 1 - index)}end"
45
- # end.join("\n") + "\n"
46
- # end
47
-
48
43
  def add_type_config
49
44
  return unless File.exist?(types_config_file)
50
45
 
@@ -76,7 +71,7 @@ module ApacheAge
76
71
  <<-RUBY
77
72
  require_dependency '#{file_path}'
78
73
  ActiveModel::Type.register(
79
- :#{type_name}, ApacheAge::Types::AgeTypeGenerator.create_type_for(#{entity_namespaced_class})
74
+ :#{type_name}, ApacheAge::Types::Factory.type_for(#{entity_namespaced_class})
80
75
  )
81
76
  RUBY
82
77
  end
@@ -12,7 +12,7 @@ Example:
12
12
  with the contents:
13
13
  ```
14
14
  class Cat
15
- include ApacheAge::Entities::Vertex
15
+ include ApacheAge::Entities::Node
16
16
 
17
17
  attribute :full_name, :string
18
18
  attribute :birthdate, :date
@@ -22,7 +22,7 @@ Example:
22
22
 
23
23
  # unique node validator (remove any attributes that are not important to uniqueness)
24
24
  validates_with(
25
- ApacheAge::Validators::UniqueVertex,
25
+ ApacheAge::Validators::UniqueNode,
26
26
  attributes: [:full_name, :birthdate]
27
27
  )
28
28
  end
@@ -37,7 +37,7 @@ Example:
37
37
  with the contents
38
38
  ```
39
39
  class Animals::Cat
40
- include ApacheAge::Entities::Vertex
40
+ include ApacheAge::Entities::Node
41
41
 
42
42
  attribute :name, :string
43
43
  attribute :age, :integer
@@ -47,7 +47,7 @@ Example:
47
47
 
48
48
  # unique node validator (remove any attributes that are not important to uniqueness)
49
49
  validates_with(
50
- ApacheAge::Validators::UniqueVertex,
50
+ ApacheAge::Validators::UniqueNode,
51
51
  attributes: [:name, :age]
52
52
  )
53
53
  end
@@ -9,9 +9,9 @@ module ApacheAge
9
9
  include ApacheAge::GeneratorEntityHelpers
10
10
 
11
11
  desc "Generates node (model) with attributes."
12
-
13
12
  source_root File.expand_path('templates', __dir__)
14
13
  argument :attributes, type: :array, default: [], banner: "field:type field:type"
14
+ class_option :skip_namespace, type: :boolean, default: true, desc: "Skip namespace 'rails_age' in generated files"
15
15
 
16
16
  def perform_task
17
17
  age_type = 'node'
@@ -1,5 +1,5 @@
1
1
  class <%= class_name %>
2
- include ApacheAge::Entities::Vertex
2
+ include ApacheAge::Entities::Node
3
3
 
4
4
  <%- attributes_list.each do |attribute| -%>
5
5
  attribute :<%= attribute[:name] %>, :<%= attribute[:type] %>
@@ -11,7 +11,7 @@ class <%= class_name %>
11
11
 
12
12
  # custom unique node validator (remove any attributes that are NOT important to uniqueness)
13
13
  validates_with(
14
- ApacheAge::Validators::UniqueVertex,
14
+ ApacheAge::Validators::UniqueNode,
15
15
  attributes: <%= unique_attributes.inspect %>
16
16
  )
17
17
  end
@@ -0,0 +1,16 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ bin/rails generate apache_age:scaffold_edge HasPet careciver_role
6
+
7
+ This will create:
8
+ create app/edge/has_pet.rb
9
+ modified: config/initializers/types.rb
10
+ create app/controllers/has_pets_controller.rb
11
+ route resources :has_pets
12
+ create app/views/pets/index.html.erb
13
+ create app/views/pets/edit.html.erb
14
+ create app/views/pets/show.html.erb
15
+ create app/views/pets/new.html.erb
16
+ create app/views/pets/partial.html.erb
@@ -0,0 +1,66 @@
1
+ # lib/generators/apache_age/scaffold_edge/scaffold_edge_generator.rb
2
+
3
+ require 'rails/generators'
4
+ require 'rails/generators/named_base'
5
+ require 'rails/generators/resource_helpers'
6
+
7
+ module ApacheAge
8
+ class ScaffoldEdgeGenerator < Rails::Generators::NamedBase
9
+ include Rails::Generators::ResourceHelpers
10
+
11
+ desc "Generates an edge, and its controller and views with the given attributes."
12
+ source_root File.expand_path("templates", __dir__)
13
+ argument :attributes, type: :array, default: [], banner: "field:type field:type"
14
+ class_option :skip_namespace, type: :boolean, default: true, desc: "Skip namespace 'rails_age' in generated files"
15
+
16
+ def create_model_file
17
+ invoke 'apache_age:edge', [name] + attributes.collect { |attr| "#{attr.name}:#{attr.type}" }
18
+ end
19
+
20
+ def create_controller_files
21
+ template(
22
+ "controller.rb.tt",
23
+ File.join(Rails.root, "app/controllers", controller_class_path, "#{controller_file_name}_controller.rb")
24
+ )
25
+ end
26
+
27
+ def create_route
28
+ route_content = route_text(class_path, file_name)
29
+ inject_into_file(
30
+ File.join(Rails.root, 'config', 'routes.rb'), "\n#{route_content}",
31
+ after: "Rails.application.routes.draw do"
32
+ )
33
+ end
34
+
35
+ def copy_view_files
36
+ available_views.each do |view|
37
+ view_name = view == 'partial' ? "_#{singular_table_name}" : view
38
+ filename = filename_with_extensions(view_name)
39
+ template(
40
+ "views/#{view}.html.erb.tt",
41
+ File.join(Rails.root, "app/views", controller_file_path, filename)
42
+ )
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ def available_views
49
+ %w[index edit show new partial _form]
50
+ end
51
+
52
+ def filename_with_extensions(view)
53
+ [view, :html, :erb].compact.join('.')
54
+ end
55
+
56
+ def route_text(class_path, file_name)
57
+ return " resources :#{file_name.pluralize}" if class_path.empty?
58
+
59
+ <<-RUBY
60
+ namespace :#{class_path.join(':')} do
61
+ resources :#{file_name.pluralize}
62
+ end
63
+ RUBY
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,50 @@
1
+ class <%= controller_class_name %>Controller < ApplicationController
2
+ before_action :set_<%= singular_table_name %>, only: %i[show edit update destroy]
3
+
4
+ def index
5
+ @<%= plural_table_name %> = <%= class_name %>.all
6
+ end
7
+
8
+ def show
9
+ end
10
+
11
+ def new
12
+ @<%= singular_table_name %> = <%= class_name %>.new
13
+ end
14
+
15
+ def edit
16
+ end
17
+
18
+ def create
19
+ @<%= singular_table_name %> = <%= class_name %>.new(<%= singular_table_name %>_params)
20
+
21
+ if @<%= singular_table_name %>.save
22
+ redirect_to @<%= singular_table_name %>, notice: '<%= human_name %> was successfully created.'
23
+ else
24
+ render :new
25
+ end
26
+ end
27
+
28
+ def update
29
+ if @<%= singular_table_name %>.update(<%= singular_table_name %>_params)
30
+ redirect_to @<%= singular_table_name %>, notice: '<%= human_name %> was successfully updated.'
31
+ else
32
+ render :edit
33
+ end
34
+ end
35
+
36
+ def destroy
37
+ @<%= singular_table_name %>.destroy
38
+ redirect_to <%= index_helper %>_url, notice: '<%= human_name %> was successfully destroyed.'
39
+ end
40
+
41
+ private
42
+
43
+ def set_<%= singular_table_name %>
44
+ @<%= singular_table_name %> = <%= class_name %>.find(params[:id])
45
+ end
46
+
47
+ def <%= singular_table_name %>_params
48
+ params.require(:<%= singular_table_name %>).permit(<%= (attributes + %i[start_id end_id]).map { |attr| ":#{attr.name}" }.join(', ') %>)
49
+ end
50
+ end
@@ -31,6 +31,16 @@
31
31
  </div>
32
32
 
33
33
  <% end -%>
34
+ <div>
35
+ <%%= form.label :start_node, style: "display: block" %>
36
+ <%%= form.collection_select(:start_id, ApacheAge::Node.all, :id, :display, prompt: 'Select a Start-Node') %>
37
+ </div>
38
+
39
+ <div>
40
+ <%%= form.label :end_node, style: "display: block" %>
41
+ <%%= form.collection_select(:end_id, ApacheAge::Node.all, :id, :display, prompt: 'Select an End-Node') %>
42
+ </div>
43
+
34
44
  <div>
35
45
  <%%= form.submit %>
36
46
  </div>
@@ -6,7 +6,7 @@
6
6
 
7
7
  <div id="<%= plural_table_name %>">
8
8
  <%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
9
- <%%= render <%= singular_table_name %> %>
9
+ <%%= render '<%= singular_table_name %>', <%= singular_table_name %>: <%= singular_table_name %> %>
10
10
  <p>
11
11
  <%%= link_to "Show this <%= human_name.downcase %>", <%= model_resource_name(singular_table_name) %> %>
12
12
  </p>
@@ -5,8 +5,8 @@
5
5
  <% if attribute.attachment? -%>
6
6
  <%%= link_to <%= singular_table_name %>.<%= attribute.column_name %>.filename, <%= singular_table_name %>.<%= attribute.column_name %> if <%= singular_table_name %>.<%= attribute.column_name %>.attached? %>
7
7
  <% elsif attribute.attachments? -%>
8
- <%% <%= singular_table_name %>.<%= attribute.column_name %>.each do |<%= attribute.singular_table_name %>| %>
9
- <div><%%= link_to <%= attribute.singular_table_name %>.filename, <%= attribute.singular_table_name %> %></div>
8
+ <%% <%= singular_table_name %>.<%= attribute.column_name %>.each do |<%= attribute.singular_name %>| %>
9
+ <div><%%= link_to <%= attribute.singular_name %>.filename, <%= attribute.singular_name %> %></div>
10
10
  <%% end %>
11
11
  <% else -%>
12
12
  <%%= <%= singular_table_name %>.<%= attribute.column_name %> %>
@@ -14,4 +14,13 @@
14
14
  </p>
15
15
 
16
16
  <% end -%>
17
+ <p>
18
+ <strong>Start-Node:</strong>
19
+ <%%= <%= singular_table_name %>.start_node.display %>
20
+ </p>
21
+
22
+ <p>
23
+ <strong>End-Node:</strong>
24
+ <%%= <%= singular_table_name %>.end_node.display %>
25
+ </p>
17
26
  </div>
@@ -1,6 +1,6 @@
1
1
  <p style="color: green"><%%= notice %></p>
2
2
 
3
- <%%= render @<%= singular_table_name %> %>
3
+ <%%= render '<%= singular_table_name %>', <%= singular_table_name %>: @<%= singular_table_name %> %>
4
4
 
5
5
  <div>
6
6
  <%%= link_to "Edit this <%= human_name.downcase %>", <%= edit_helper(type: :path) %> %> |
@@ -4,20 +4,14 @@ require 'rails/generators'
4
4
  require 'rails/generators/named_base'
5
5
  require 'rails/generators/resource_helpers'
6
6
 
7
- require_relative '../generator_entity_helpers'
8
- require_relative '../generator_resource_helpers'
9
-
10
7
  module ApacheAge
11
8
  class ScaffoldNodeGenerator < Rails::Generators::NamedBase
12
9
  include Rails::Generators::ResourceHelpers
13
- # include ApacheAge::GeneratorEntityHelpers
14
- # include ApacheAge::GeneratorResourceHelpers
15
10
 
16
11
  desc "Generates a node, and its controller and views with the given attributes."
17
-
18
12
  source_root File.expand_path("templates", __dir__)
19
-
20
13
  argument :attributes, type: :array, default: [], banner: "field:type field:type"
14
+ class_option :skip_namespace, type: :boolean, default: true, desc: "Skip namespace 'rails_age' in generated files"
21
15
 
22
16
  def create_model_file
23
17
  invoke 'apache_age:node', [name] + attributes.collect { |attr| "#{attr.name}:#{attr.type}" }
@@ -25,24 +19,27 @@ module ApacheAge
25
19
 
26
20
  def create_controller_files
27
21
  template(
28
- "node_controller.rb.tt",
29
- File.join("app/controllers", controller_class_path, "#{controller_file_name}_controller.rb")
22
+ "controller.rb.tt",
23
+ File.join(Rails.root, "app/controllers", controller_class_path, "#{controller_file_name}_controller.rb")
30
24
  )
31
25
  end
32
26
 
33
27
  def create_route
34
- if class_path.empty?
35
- route "resources :#{file_name.pluralize}"
36
- else
37
- route nested_route(class_path, file_name)
38
- end
28
+ route_content = route_text(class_path, file_name)
29
+ inject_into_file(
30
+ File.join(Rails.root, 'config', 'routes.rb'), "\n#{route_content}",
31
+ after: "Rails.application.routes.draw do"
32
+ )
39
33
  end
40
34
 
41
35
  def copy_view_files
42
36
  available_views.each do |view|
43
37
  view_name = view == 'partial' ? "_#{singular_table_name}" : view
44
38
  filename = filename_with_extensions(view_name)
45
- template "views/#{view}.html.erb.tt", File.join("app/views", controller_file_path, filename)
39
+ template(
40
+ "views/#{view}.html.erb.tt",
41
+ File.join(Rails.root, "app/views", controller_file_path, filename)
42
+ )
46
43
  end
47
44
  end
48
45
 
@@ -56,13 +53,14 @@ module ApacheAge
56
53
  [view, :html, :erb].compact.join('.')
57
54
  end
58
55
 
59
- def nested_route(class_path, file_name)
60
- # "namespace :#{class_path.join(':')} do\n resources :#{file_name.pluralize}\nend"
61
- <<~RUBY
62
- namespace :#{class_path.join(':')} do
63
- resources :#{file_name.pluralize}
64
- end
65
- RUBY
56
+ def route_text(class_path, file_name)
57
+ return " resources :#{file_name.pluralize}" if class_path.empty?
58
+
59
+ <<-RUBY
60
+ namespace :#{class_path.join(':')} do
61
+ resources :#{file_name.pluralize}
62
+ end
63
+ RUBY
66
64
  end
67
65
  end
68
66
  end
@@ -1,3 +1,3 @@
1
1
  module RailsAge
2
- VERSION = '0.5.2'
2
+ VERSION = '0.6.0'
3
3
  end
data/lib/rails_age.rb CHANGED
@@ -8,10 +8,13 @@ end
8
8
  module ApacheAge
9
9
  require 'apache_age/entities/class_methods'
10
10
  require 'apache_age/entities/common_methods'
11
- require 'apache_age/entities/edge'
12
11
  require 'apache_age/entities/entity'
13
- require 'apache_age/entities/vertex'
12
+ require 'apache_age/entities/node'
13
+ require 'apache_age/entities/edge'
14
+ require 'apache_age/node'
15
+ require 'apache_age/edge'
16
+ require 'apache_age/validators/expected_node_type'
17
+ require 'apache_age/validators/unique_node'
14
18
  require 'apache_age/validators/unique_edge'
15
- require 'apache_age/validators/unique_vertex'
16
- require 'apache_age/types/age_type_generator'
19
+ require 'apache_age/types/factory'
17
20
  end
@@ -5,28 +5,28 @@ namespace :apache_age do
5
5
  desc "Install AGE types from rails_age into the rails initializers"
6
6
  task :config_types => :environment do
7
7
  types_file_path = File.expand_path("#{Rails.root}/config/initializers/types.rb", __FILE__)
8
- required_file_path = "require 'apache_age/types/age_type_generator'"
8
+ required_file_path = "require 'apache_age/types/factory'"
9
9
  required_file_content =
10
10
  <<~RUBY
11
- require 'apache_age/types/age_type_generator'
11
+ require 'apache_age/types/factory'
12
12
  # AGE Type Definition Usage (edges/nodes):
13
- # require_dependency 'nodes/company'
13
+ # require_dependency 'company'
14
14
  # ActiveModel::Type.register(
15
- # :company, ApacheAge::Types::AgeTypeGenerator.create_type_for(Nodes::Company)
15
+ # :company, ApacheAge::Types::Factory.type_for(Company)
16
16
  # )
17
17
  RUBY
18
18
  node_type_content =
19
19
  <<-RUBY
20
- require_dependency 'apache_age/entities/vertex'
20
+ require_dependency 'apache_age/node'
21
21
  ActiveModel::Type.register(
22
- :vertex, ApacheAge::Types::AgeTypeGenerator.create_type_for(ApacheAge::Entities::Vertex)
22
+ :node, ApacheAge::Types::Factory.type_for(ApacheAge::Node)
23
23
  )
24
24
  RUBY
25
25
  edge_type_content =
26
26
  <<-RUBY
27
- require_dependency 'apache_age/entities/edge'
27
+ require_dependency 'apache_age/edge'
28
28
  ActiveModel::Type.register(
29
- :edge, ApacheAge::Types::AgeTypeGenerator.create_type_for(ApacheAge::Entities::Edge)
29
+ :edge, ApacheAge::Types::Factory.type_for(ApacheAge::Edge)
30
30
  )
31
31
  RUBY
32
32