Class: OceanScaffoldGenerator

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

Overview

:nodoc: all

Instance Method Summary collapse

Instance Method Details

#add_json_controller_specsObject



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

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



72
73
74
# File 'lib/generators/ocean_scaffold/ocean_scaffold_generator.rb', line 72

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



59
60
61
# File 'lib/generators/ocean_scaffold/ocean_scaffold_generator.rb', line 59

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

#add_model_specsObject



33
34
35
# File 'lib/generators/ocean_scaffold/ocean_scaffold_generator.rb', line 33

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

#extend_modelObject



5
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
# File 'lib/generators/ocean_scaffold/ocean_scaffold_generator.rb', line 5

def extend_model
  inject_into_class "#{Rails.root}/app/models/#{singular_name}.rb", 
    class_name.constantize,
    "
self.primary_key = 'id'

def initialize(*)
  super
  self.id ||= SecureRandom.uuid
end


ocean_resource_model index: [:name], search: :description


# Relations


# Attributes
attr_accessible :lock_version, :name, :description


# Validations


"
end

#remove_html_controller_specsObject



37
38
39
# File 'lib/generators/ocean_scaffold/ocean_scaffold_generator.rb', line 37

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

#remove_html_view_specsObject



63
64
65
66
67
68
69
70
# File 'lib/generators/ocean_scaffold/ocean_scaffold_generator.rb', line 63

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



49
50
51
52
53
54
55
56
57
# File 'lib/generators/ocean_scaffold/ocean_scaffold_generator.rb', line 49

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



76
77
78
# File 'lib/generators/ocean_scaffold/ocean_scaffold_generator.rb', line 76

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

#update_routing_specsObject



80
81
82
83
# File 'lib/generators/ocean_scaffold/ocean_scaffold_generator.rb', line 80

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