Class: OceanScaffoldDynamoGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb

Overview

:nodoc: all

Instance Method Summary collapse

Instance Method Details

#add_json_controller_specsObject



52
53
54
55
56
57
58
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 52

def add_json_controller_specs
  template "controller_specs/delete_spec.rb", "#{Rails.root}/spec/controllers/#{plural_name}/delete_spec.rb"
  template "controller_specs/show_spec.rb",   "#{Rails.root}/spec/controllers/#{plural_name}/show_spec.rb"
  template "controller_specs/index_spec.rb",  "#{Rails.root}/spec/controllers/#{plural_name}/index_spec.rb"
  template "controller_specs/create_spec.rb", "#{Rails.root}/spec/controllers/#{plural_name}/create_spec.rb"
  template "controller_specs/update_spec.rb", "#{Rails.root}/spec/controllers/#{plural_name}/update_spec.rb"
end

#add_json_view_specObject



83
84
85
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 83

def add_json_view_spec
  template "view_specs/_resource_spec.rb", "#{Rails.root}/spec/views/#{plural_name}/_#{singular_name}_spec.rb"
end

#add_json_viewsObject



70
71
72
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 70

def add_json_views
  template "views/_resource.json.jbuilder", "#{Rails.root}/app/views/#{plural_name}/_#{singular_name}.json.jbuilder"
end

#add_model_specsObject



40
41
42
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 40

def add_model_specs
  template "model_spec.rb", "#{Rails.root}/spec/models/#{singular_name}_spec.rb"
end

#convert_to_dynamodbObject



5
6
7
8
9
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 5

def convert_to_dynamodb
  gsub_file "#{Rails.root}/app/models/#{singular_name}.rb", 
            "class #{class_name} < ActiveRecord::Base", 
            "class #{class_name} < OceanDynamo::Table"
end

#extend_modelObject



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
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 11

def extend_model
  inject_into_class "#{Rails.root}/app/models/#{singular_name}.rb", 
    class_name.constantize,
    "

ocean_resource_model index: false, 
                     search: false

dynamo_schema(:id, table_name_suffix: Api.basename_suffix, 
                   create: Rails.env != 'production') do
  # Input attributes
  attribute :name
  attribute :description
  attribute :created_by
  attribute :updated_by
end

# Relations


# Attributes


# Validations


"
end

#remove_html_controller_specsObject



48
49
50
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 48

def remove_html_controller_specs
  remove_file "spec/controllers/#{plural_name}_controller_spec.rb"
end

#remove_html_view_specsObject



74
75
76
77
78
79
80
81
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 74

def remove_html_view_specs
  remove_file "spec/views/#{plural_name}/index.html.erb_spec.rb"
  remove_file "spec/views/#{plural_name}/show.html.erb_spec.rb"
  remove_file "spec/views/#{plural_name}/new.html.erb_spec.rb"
  remove_file "spec/views/#{plural_name}/create.html.erb_spec.rb"
  remove_file "spec/views/#{plural_name}/update.html.erb_spec.rb"
  remove_file "spec/views/#{plural_name}/edit.html.erb_spec.rb"
end

#remove_html_viewsObject



60
61
62
63
64
65
66
67
68
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 60

def remove_html_views
  remove_file "app/views/#{plural_name}/_form.html.erb"
  remove_file "app/views/#{plural_name}/edit.html.erb"
  remove_file "app/views/#{plural_name}/index.html.erb"
  remove_file "app/views/#{plural_name}/index.json.jbuilder"
  remove_file "app/views/#{plural_name}/new.html.erb"
  remove_file "app/views/#{plural_name}/show.html.erb"
  remove_file "app/views/#{plural_name}/show.json.jbuilder"
end

#remove_request_specsObject



87
88
89
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 87

def remove_request_specs
  remove_file "spec/requests/#{plural_name}_spec.rb"
end

#replace_controllerObject



44
45
46
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 44

def replace_controller
  template "controller.rb", "#{Rails.root}/app/controllers/#{plural_name}_controller.rb"
end

#update_routing_specsObject



91
92
93
94
# File 'lib/generators/ocean_scaffold_dynamo/ocean_scaffold_dynamo_generator.rb', line 91

def update_routing_specs
  remove_file "spec/routing/#{plural_name}_routing_spec.rb"
  template "resource_routing_spec.rb", "#{Rails.root}/spec/routing/#{plural_name}_routing_spec.rb"
end