itium-theme 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,84 +3,68 @@ require 'rails/generators/generated_attribute'
3
3
  module ItiumTheme
4
4
  class ThemedGenerator < Rails::Generators::Base
5
5
  source_root File.expand_path('../templates', __FILE__)
6
-
6
+
7
7
  argument :controller_path, :type => :string
8
- argument :model_name, :type => :string, :required => false
9
-
8
+ argument :model_name, :type => :string, :required => false
9
+
10
10
  class_option :will_paginate, :type => :boolean, :default => false, :desc => 'Specify if you use will_paginate'
11
11
  class_option :themed_type, :type => :string, :default => 'crud', :desc => 'Specify the themed type, crud or text. Default is crud'
12
-
13
12
  def initialize(args, *options)
14
13
  super(args, *options)
15
14
  initialize_views_variables
16
15
  end
17
-
16
+
18
17
  def copy_views
19
- generate_views
20
- unless options.layout.blank?
21
- if options.engine =~ /erb/
22
- gsub_file(File.join('app/views/layouts', "#{options[:layout]}.html.#{options.engine}"), /\<div\s+id=\"main-navigation\">.*\<\/ul\>/mi) do |match|
23
- match.gsub!(/\<\/ul\>/, "")
24
- %|#{match} <li class="<%= controller.controller_path == '#{@controller_file_path}' ? 'active' : '' %>"><a href="<%= #{controller_routing_path}_path %>">#{plural_model_name}</a></li></ul>|
25
- end
26
- elsif options.engine =~ /haml/
27
- gsub_file(File.join('app/views/layouts', "#{options[:layout]}.html.#{options.engine}"), /#main-navigation.*#wrapper.wat-cf/mi) do |match|
28
- match.gsub!(/ #wrapper.wat-cf/, "")
29
- %|#{match}| +
30
- " "*6 + %|%li{:class => controller.controller_path == '#{@controller_file_path}' ? 'active' : '' }\n| +
31
- " "*7 + %|%a{:href => #{controller_routing_path}_path} #{plural_model_name}\n| +
32
- " "*3 + %|#wrapper.wat-cf|
33
- end
34
- end
35
- end
18
+ generate_views
19
+
36
20
  end
37
21
 
38
- protected
39
-
22
+ protected
23
+
40
24
  def initialize_views_variables
41
25
  @base_name, @controller_class_path, @controller_file_path, @controller_class_nesting, @controller_class_nesting_depth = extract_modules(controller_path)
42
26
  @controller_routing_path = @controller_file_path.gsub(/\//, '_')
43
27
  @model_name = @base_name.singularize unless @model_name
44
28
  @model_name = @model_name.camelize
45
29
  end
46
-
30
+
47
31
  def controller_routing_path
48
32
  @controller_routing_path
49
33
  end
50
-
34
+
51
35
  def singular_controller_routing_path
52
36
  @controller_routing_path.singularize
53
37
  end
54
-
38
+
55
39
  def model_name
56
40
  @model_name
57
41
  end
58
-
42
+
59
43
  def plural_model_name
60
44
  @model_name.pluralize
61
45
  end
62
-
46
+
63
47
  def resource_name
64
48
  @model_name.underscore
65
49
  end
66
-
50
+
67
51
  def plural_resource_name
68
52
  resource_name.pluralize
69
53
  end
70
-
71
- ##
54
+
55
+ ##
72
56
  # Attempts to call #columns on the model's class
73
57
  # If the (Active Record) #columns method does not exist, it attempts to
74
58
  # perform the (Mongoid) #fields method instead
75
59
  def columns
76
60
  begin
77
61
  excluded_column_names = %w[id created_at updated_at]
78
- Kernel.const_get(@model_name).columns.reject{|c| excluded_column_names.include?(c.name) }.collect{|c| Rails::Generators::GeneratedAttribute.new(c.name, c.type)}
62
+ Kernel.const_get(@model_name).columns.reject{|c| excluded_column_names.include?(c.name) }.collect{|c| Rails::Generators::GeneratedAttribute.new(c.name, c.type)}
79
63
  rescue NoMethodError
80
64
  Kernel.const_get(@model_name).fields.collect{|c| c[1]}.reject{|c| excluded_column_names.include?(c.name) }.collect{|c| Rails::Generators::GeneratedAttribute.new(c.name, c.type.to_s)}
81
65
  end
82
66
  end
83
-
67
+
84
68
  def extract_modules(name)
85
69
  modules = name.include?('/') ? name.split('/') : name.split('::')
86
70
  name = modules.pop
@@ -89,7 +73,7 @@ module ItiumTheme
89
73
  nesting = modules.map { |m| m.camelize }.join('::')
90
74
  [name, path, file_path, nesting, modules.size]
91
75
  end
92
-
76
+
93
77
  def generate_views
94
78
  views = {
95
79
  'crud' => {
@@ -107,12 +91,11 @@ module ItiumTheme
107
91
  selected_views = views[options.themed_type]
108
92
  generate_erb_views(selected_views)
109
93
  end
110
-
94
+
111
95
  def generate_erb_views(views)
112
96
  views.each do |template_name, output_path|
113
97
  template template_name, output_path
114
98
  end
115
99
  end
116
-
117
-
100
+ end
118
101
  end
@@ -1,5 +1,5 @@
1
1
  module Itium
2
2
  module Theme
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itium-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: