puffer 0.0.32 → 0.1.0

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.
Files changed (117) hide show
  1. data/.gitignore +7 -0
  2. data/Gemfile +1 -26
  3. data/Gemfile.lock +66 -64
  4. data/README.md +34 -23
  5. data/Rakefile +1 -11
  6. data/VERSION +1 -1
  7. data/app/assets/javascripts/puffer/application.js +6 -1
  8. data/app/assets/javascripts/puffer/associations.js +18 -0
  9. data/app/assets/javascripts/puffer/puffer.js +7 -0
  10. data/app/assets/javascripts/puffer/right-calendar-src.js +19 -3
  11. data/app/assets/javascripts/puffer/right-dnd-src.js +591 -0
  12. data/app/assets/javascripts/puffer/right-in-edit-src.js +373 -0
  13. data/app/assets/javascripts/puffer/right-keys-src.js +87 -0
  14. data/app/assets/javascripts/puffer/{paginator.js → right-paginator-src.js} +0 -0
  15. data/app/assets/javascripts/puffer/right-slider-src.js +29 -32
  16. data/app/assets/javascripts/puffer/right-sortable-src.js +430 -0
  17. data/app/assets/javascripts/puffer/right-src.js +358 -99
  18. data/app/assets/stylesheets/puffer/puffer.css +29 -4
  19. data/app/components/base/form.html.erb +8 -14
  20. data/app/components/base_component.rb +1 -1
  21. data/app/components/boolean/form.html.erb +5 -3
  22. data/app/components/boolean/index.html.erb +6 -2
  23. data/app/components/boolean_component.rb +2 -2
  24. data/app/components/date_time/filter.html.erb +9 -0
  25. data/app/components/date_time/form.html.erb +8 -4
  26. data/app/components/date_time_component.rb +21 -5
  27. data/app/components/file/form.html.erb +8 -4
  28. data/app/components/hidden/form.html.erb +3 -1
  29. data/app/components/nested_attributes_many/form.html.erb +47 -0
  30. data/app/components/nested_attributes_many_component.rb +7 -0
  31. data/app/components/nested_attributes_one/form.html.erb +48 -0
  32. data/app/components/nested_attributes_one_component.rb +7 -0
  33. data/app/components/password/form.html.erb +8 -4
  34. data/app/components/password_component.rb +1 -1
  35. data/app/components/references_many/index.html.erb +1 -1
  36. data/app/components/references_one/choose.html.erb +1 -1
  37. data/app/components/references_one/form.html.erb +10 -9
  38. data/app/components/references_one_component.rb +0 -1
  39. data/app/components/render_component.rb +13 -0
  40. data/app/components/select/filter.html.erb +4 -2
  41. data/app/components/select/form.html.erb +8 -4
  42. data/app/components/text/form.html.erb +8 -4
  43. data/app/controllers/admin/sessions_controller.rb +1 -21
  44. data/app/controllers/puffer/base.rb +10 -3
  45. data/app/controllers/puffer/dashboard_base.rb +7 -1
  46. data/app/controllers/puffer/{sessions_base.rb → sessions/base.rb} +10 -7
  47. data/app/controllers/puffer/sessions/clearance.rb +29 -0
  48. data/app/controllers/puffer/{sessions_devise_base.rb → sessions/devise.rb} +1 -1
  49. data/app/controllers/puffer/sessions/simple.rb +28 -0
  50. data/app/controllers/puffer/tree_base.rb +1 -1
  51. data/app/models/puffer_user.rb +3 -0
  52. data/app/views/layouts/puffer.html.erb +3 -3
  53. data/app/views/puffer/base/_edit.html.erb +15 -0
  54. data/app/views/puffer/base/_index.html.erb +26 -0
  55. data/app/views/puffer/base/_show.html.erb +13 -0
  56. data/app/views/puffer/base/_table.html.erb +1 -1
  57. data/app/views/puffer/base/edit.html.erb +1 -15
  58. data/app/views/puffer/base/edit.js.erb +1 -0
  59. data/app/views/puffer/base/index.html.erb +1 -20
  60. data/app/views/puffer/base/index.js.erb +1 -0
  61. data/app/views/puffer/base/new.html.erb +1 -1
  62. data/app/views/puffer/base/show.html.erb +1 -22
  63. data/app/views/puffer/base/show.js.erb +1 -0
  64. data/app/views/puffer/base/update.js.erb +1 -0
  65. data/app/views/puffer/sessions/base/new.html.erb +11 -0
  66. data/app/views/puffer/tree_base/_record.html.erb +1 -1
  67. data/lib/puffer/component.rb +14 -47
  68. data/lib/puffer/controller/auth.rb +13 -9
  69. data/lib/puffer/controller/config.rb +18 -0
  70. data/lib/puffer/controller/mutate.rb +8 -8
  71. data/lib/puffer/engine.rb +5 -0
  72. data/lib/puffer/field.rb +5 -11
  73. data/lib/puffer/filters.rb +86 -56
  74. data/lib/puffer/helpers/component_helper.rb +24 -0
  75. data/lib/puffer/helpers/puffer_helper.rb +65 -0
  76. data/lib/puffer/helpers/puffer_tree_helper.rb +19 -0
  77. data/lib/puffer/orm_adapter/active_record.rb +40 -11
  78. data/lib/puffer/orm_adapter/base.rb +9 -0
  79. data/lib/puffer/orm_adapter/mongoid.rb +32 -9
  80. data/lib/puffer/resource/node.rb +2 -2
  81. data/lib/puffer/resource/routing.rb +30 -16
  82. data/lib/puffer/resource.rb +20 -20
  83. data/lib/puffer/version.rb +3 -0
  84. data/lib/puffer.rb +26 -5
  85. data/puffer.gemspec +34 -296
  86. data/spec/app/components/base_component_spec.rb +1 -1
  87. data/spec/app/components/boolean_component_spec.rb +2 -0
  88. data/spec/app/components/date_time_component_spec.rb +1 -0
  89. data/spec/app/components/file_component_spec.rb +1 -0
  90. data/spec/app/components/hidden_component_spec.rb +1 -0
  91. data/spec/app/components/password_component_spec.rb +2 -0
  92. data/spec/app/components/select_component_spec.rb +1 -0
  93. data/spec/app/components/string_component_spec.rb +1 -0
  94. data/spec/app/components/text_component_spec.rb +1 -0
  95. data/spec/dummy/app/controllers/admin/news_controller.rb +2 -0
  96. data/spec/dummy/app/controllers/admin/profiles_controller.rb +1 -1
  97. data/spec/dummy/app/controllers/admin/users_controller.rb +2 -0
  98. data/spec/dummy/app/controllers/orms/active_record_orm_primals_controller.rb +8 -0
  99. data/spec/dummy/app/helpers/news_helper.rb +7 -0
  100. data/spec/dummy/app/models/active_record_orm/has_many_reference.rb +5 -0
  101. data/spec/dummy/app/models/active_record_orm/has_one_reference.rb +5 -0
  102. data/spec/dummy/app/models/active_record_orm/primal.rb +4 -0
  103. data/spec/dummy/config/environments/development.rb +1 -1
  104. data/spec/dummy/db/migrate/20111120144025_create_active_record_orm_has_one_references.rb +10 -0
  105. data/spec/dummy/db/migrate/20111122203304_create_active_record_orm_has_many_references.rb +10 -0
  106. data/spec/dummy/db/schema.rb +15 -1
  107. data/spec/helpers/puffer_helper_spec.rb +1 -1
  108. data/spec/lib/fields_spec.rb +0 -9
  109. data/spec/lib/filters_spec.rb +4 -8
  110. data/spec/lib/orm_adapter/base_shared.rb +22 -0
  111. data/spec/spec_helper.rb +1 -1
  112. metadata +89 -60
  113. data/app/components/string/form.html.erb +0 -5
  114. data/app/helpers/puffer_helper.rb +0 -51
  115. data/app/helpers/puffer_tree_helper.rb +0 -15
  116. data/app/views/puffer/sessions_base/new.html.erb +0 -11
  117. data/lib/puffer/extensions/form.rb +0 -16
data/lib/puffer.rb CHANGED
@@ -10,7 +10,6 @@ require 'puffer/orm_adapter/mongoid' if defined?(Mongoid::Document::OrmAdapter)
10
10
  require 'puffer/extensions/controller'
11
11
  require 'puffer/extensions/core'
12
12
  require 'puffer/extensions/mapper'
13
- require 'puffer/extensions/form'
14
13
  require 'puffer/extensions/directive_processor'
15
14
  require 'puffer/extensions/engine'
16
15
  require 'puffer/engine'
@@ -33,6 +32,9 @@ module Puffer
33
32
  autoload :Base, 'puffer/component'
34
33
  end
35
34
 
35
+ # module Sessions
36
+ # end
37
+
36
38
  # Puffer has two types of mappings. If maps <tt>field.type</tt> to component
37
39
  # class and also maps field attributes to <tt>field.type</tt>
38
40
  mattr_accessor :_component_mappings
@@ -59,8 +61,6 @@ module Puffer
59
61
  raise ComponentMissing, "Missing `#{type}` component for `#{field}` field. Please use Puffer.map_component binding or specify field type manually"
60
62
  end
61
63
 
62
- map_component :belongs_to, :has_one, :to => :ReferencesOneComponent
63
- map_component :has_many, :has_and_belongs_to_many, :to => :ReferencesManyComponent
64
64
  map_component :date, :time, :datetime, :date_time, :timestamp, :to => :DateTimeComponent
65
65
  map_component :integer, :float, :decimal, :big_decimal, :to => :StringComponent
66
66
  map_component :"mongoid/fields/serializable/object", :"bson/object_id", :symbol, :array, :hash, :set, :range, :to => :StringComponent
@@ -98,14 +98,35 @@ module Puffer
98
98
  end
99
99
  end
100
100
 
101
+ append_custom_field_type :nested_attributes_one do |field|
102
+ field.reflection && field.reflection.macro == :has_one && !field.reflection.through? && field.model.instance_methods.include?(:"#{field}_attributes=")
103
+ end
104
+ append_custom_field_type :nested_attributes_one do |field|
105
+ field.reflection && field.reflection.macro == :embeds_one && field.model.instance_methods.include?(:"#{field}_attributes=")
106
+ end
107
+
108
+ append_custom_field_type :nested_attributes_many do |field|
109
+ field.reflection && field.reflection.macro == :has_many && !field.reflection.through? && field.model.instance_methods.include?(:"#{field}_attributes=")
110
+ end
111
+ append_custom_field_type :nested_attributes_many do |field|
112
+ field.reflection && field.reflection.macro == :embeds_many && field.model.instance_methods.include?(:"#{field}_attributes=")
113
+ end
114
+
115
+ append_custom_field_type :references_one do |field|
116
+ field.reflection && [:has_one, :belongs_to, :embedded_in].include?(field.reflection.macro)
117
+ end
118
+ append_custom_field_type :references_many do |field|
119
+ field.reflection && [:has_many, :has_and_belongs_to_many].include?(field.reflection.macro)
120
+ end
121
+
101
122
  append_custom_field_type :select do |field|
102
123
  field.options.key? :select
103
124
  end
104
125
  append_custom_field_type :password do |field|
105
126
  field.name =~ /password/
106
127
  end
107
- append_custom_field_type(proc {|type| type.reflection.macro}) do |field|
108
- field.reflection
128
+ append_custom_field_type :render do |field|
129
+ field.options.key? :render
109
130
  end
110
131
 
111
132
  end
data/puffer.gemspec CHANGED
@@ -1,303 +1,41 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "puffer/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{puffer}
8
- s.version = "0.0.32"
6
+ s.name = "puffer"
7
+ s.version = Puffer::VERSION
8
+ s.authors = ["pyromaniac"]
9
+ s.email = ["kinwizard@gmail.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{In Soviet Russia puffer admins you}
12
+ s.description = %q{Admin interface builder}
9
13
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = [%q{pyromaniac}]
12
- s.date = %q{2011-10-27}
13
- s.description = %q{In Soviet Russia puffer admins you}
14
- s.email = %q{kinwizard@gmail.com}
15
- s.extra_rdoc_files = [
16
- "README.md"
17
- ]
18
- s.files = [
19
- ".rspec",
20
- ".rvmrc",
21
- "Gemfile",
22
- "Gemfile.lock",
23
- "Guardfile",
24
- "MIT-LICENSE",
25
- "README.md",
26
- "Rakefile",
27
- "VERSION",
28
- "app/assets/javascripts/puffer/application.js",
29
- "app/assets/javascripts/puffer/paginator.js",
30
- "app/assets/javascripts/puffer/puffer.js",
31
- "app/assets/javascripts/puffer/rails.js",
32
- "app/assets/javascripts/puffer/right-autocompleter-src.js",
33
- "app/assets/javascripts/puffer/right-calendar-src.js",
34
- "app/assets/javascripts/puffer/right-dialog-src.js",
35
- "app/assets/javascripts/puffer/right-slider-src.js",
36
- "app/assets/javascripts/puffer/right-src.js",
37
- "app/assets/stylesheets/puffer/application.css",
38
- "app/assets/stylesheets/puffer/paginator.css",
39
- "app/assets/stylesheets/puffer/puffer.css",
40
- "app/assets/stylesheets/puffer/puffer_tree.css",
41
- "app/assets/stylesheets/puffer/reset.css",
42
- "app/assets/stylesheets/puffer/right.css",
43
- "app/components/base/form.html.erb",
44
- "app/components/base_component.rb",
45
- "app/components/boolean/form.html.erb",
46
- "app/components/boolean/index.html.erb",
47
- "app/components/boolean_component.rb",
48
- "app/components/date_time/form.html.erb",
49
- "app/components/date_time_component.rb",
50
- "app/components/file/form.html.erb",
51
- "app/components/file_component.rb",
52
- "app/components/hidden/form.html.erb",
53
- "app/components/hidden_component.rb",
54
- "app/components/password/form.html.erb",
55
- "app/components/password_component.rb",
56
- "app/components/references_many/form.html.erb",
57
- "app/components/references_many/index.html.erb",
58
- "app/components/references_many_component.rb",
59
- "app/components/references_one/choose.html.erb",
60
- "app/components/references_one/form.html.erb",
61
- "app/components/references_one_component.rb",
62
- "app/components/select/filter.html.erb",
63
- "app/components/select/form.html.erb",
64
- "app/components/select_component.rb",
65
- "app/components/string/form.html.erb",
66
- "app/components/string_component.rb",
67
- "app/components/text/form.html.erb",
68
- "app/components/text_component.rb",
69
- "app/controllers/admin/dashboard_controller.rb",
70
- "app/controllers/admin/puffer_users_controller.rb",
71
- "app/controllers/admin/sessions_controller.rb",
72
- "app/controllers/puffer/base.rb",
73
- "app/controllers/puffer/dashboard_base.rb",
74
- "app/controllers/puffer/puffer_users_base.rb",
75
- "app/controllers/puffer/sessions_base.rb",
76
- "app/controllers/puffer/sessions_devise_base.rb",
77
- "app/controllers/puffer/tree_base.rb",
78
- "app/helpers/puffer_helper.rb",
79
- "app/helpers/puffer_tree_helper.rb",
80
- "app/models/puffer/puffer_user.rb",
81
- "app/models/puffer_user.rb",
82
- "app/views/layouts/puffer.html.erb",
83
- "app/views/layouts/puffer_base.html.erb",
84
- "app/views/layouts/puffer_dashboard.html.erb",
85
- "app/views/layouts/puffer_sessions.html.erb",
86
- "app/views/puffer/base/_table.html.erb",
87
- "app/views/puffer/base/edit.html.erb",
88
- "app/views/puffer/base/index.html.erb",
89
- "app/views/puffer/base/new.html.erb",
90
- "app/views/puffer/base/show.html.erb",
91
- "app/views/puffer/dashboard_base/index.html.erb",
92
- "app/views/puffer/sessions_base/new.html.erb",
93
- "app/views/puffer/tree_base/_record.html.erb",
94
- "app/views/puffer/tree_base/toggle.js.erb",
95
- "app/views/puffer/tree_base/tree.html.erb",
96
- "config/locales/puffer.yml",
97
- "config/routes.rb",
98
- "db/migrate/20110912095647_create_puffer_users.rb",
99
- "lib/generators/puffer/component/USAGE",
100
- "lib/generators/puffer/component/component_generator.rb",
101
- "lib/generators/puffer/component/templates/component.rb",
102
- "lib/generators/puffer/controller/USAGE",
103
- "lib/generators/puffer/controller/controller_generator.rb",
104
- "lib/generators/puffer/controller/templates/controller.rb",
105
- "lib/puffer.rb",
106
- "lib/puffer/component.rb",
107
- "lib/puffer/controller/actions.rb",
108
- "lib/puffer/controller/auth.rb",
109
- "lib/puffer/controller/config.rb",
110
- "lib/puffer/controller/dsl.rb",
111
- "lib/puffer/controller/mutate.rb",
112
- "lib/puffer/engine.rb",
113
- "lib/puffer/extensions/controller.rb",
114
- "lib/puffer/extensions/core.rb",
115
- "lib/puffer/extensions/directive_processor.rb",
116
- "lib/puffer/extensions/engine.rb",
117
- "lib/puffer/extensions/form.rb",
118
- "lib/puffer/extensions/mapper.rb",
119
- "lib/puffer/field.rb",
120
- "lib/puffer/field_set.rb",
121
- "lib/puffer/filters.rb",
122
- "lib/puffer/orm_adapter/active_record.rb",
123
- "lib/puffer/orm_adapter/base.rb",
124
- "lib/puffer/orm_adapter/mongoid.rb",
125
- "lib/puffer/resource.rb",
126
- "lib/puffer/resource/node.rb",
127
- "lib/puffer/resource/routing.rb",
128
- "lib/puffer/resource/tree.rb",
129
- "puffer.gemspec",
130
- "spec/app/components/base_component_spec.rb",
131
- "spec/app/components/boolean_component_spec.rb",
132
- "spec/app/components/date_time_component_spec.rb",
133
- "spec/app/components/file_component_spec.rb",
134
- "spec/app/components/hidden_component_spec.rb",
135
- "spec/app/components/password_component_spec.rb",
136
- "spec/app/components/references_many_component_spec.rb",
137
- "spec/app/components/references_one_component_spec.rb",
138
- "spec/app/components/select_component_spec.rb",
139
- "spec/app/components/string_component_spec.rb",
140
- "spec/app/components/text_component_spec.rb",
141
- "spec/dummy/.rvmrc",
142
- "spec/dummy/Rakefile",
143
- "spec/dummy/app/assets/images/rails.png",
144
- "spec/dummy/app/assets/javascripts/application.js",
145
- "spec/dummy/app/assets/stylesheets/application.css",
146
- "spec/dummy/app/controllers/admin/categories_controller.rb",
147
- "spec/dummy/app/controllers/admin/news_controller.rb",
148
- "spec/dummy/app/controllers/admin/posts_controller.rb",
149
- "spec/dummy/app/controllers/admin/profiles_controller.rb",
150
- "spec/dummy/app/controllers/admin/tagged_posts_controller.rb",
151
- "spec/dummy/app/controllers/admin/tags_controller.rb",
152
- "spec/dummy/app/controllers/admin/users_controller.rb",
153
- "spec/dummy/app/controllers/application_controller.rb",
154
- "spec/dummy/app/controllers/orms/active_record_orm_primals_controller.rb",
155
- "spec/dummy/app/controllers/orms/mongoid_orm_primals_controller.rb",
156
- "spec/dummy/app/helpers/application_helper.rb",
157
- "spec/dummy/app/models/active_record_orm.rb",
158
- "spec/dummy/app/models/active_record_orm/primal.rb",
159
- "spec/dummy/app/models/category.rb",
160
- "spec/dummy/app/models/friendship.rb",
161
- "spec/dummy/app/models/mongoid_orm.rb",
162
- "spec/dummy/app/models/mongoid_orm/primal.rb",
163
- "spec/dummy/app/models/news.rb",
164
- "spec/dummy/app/models/post.rb",
165
- "spec/dummy/app/models/post_category.rb",
166
- "spec/dummy/app/models/profile.rb",
167
- "spec/dummy/app/models/tag.rb",
168
- "spec/dummy/app/models/tagged_post.rb",
169
- "spec/dummy/app/models/tagging.rb",
170
- "spec/dummy/app/models/user.rb",
171
- "spec/dummy/app/views/layouts/application.html.erb",
172
- "spec/dummy/config.ru",
173
- "spec/dummy/config/application.rb",
174
- "spec/dummy/config/boot.rb",
175
- "spec/dummy/config/database.yml",
176
- "spec/dummy/config/environment.rb",
177
- "spec/dummy/config/environments/development.rb",
178
- "spec/dummy/config/environments/production.rb",
179
- "spec/dummy/config/environments/test.rb",
180
- "spec/dummy/config/initializers/backtrace_silencers.rb",
181
- "spec/dummy/config/initializers/devise.rb",
182
- "spec/dummy/config/initializers/inflections.rb",
183
- "spec/dummy/config/initializers/mime_types.rb",
184
- "spec/dummy/config/initializers/secret_token.rb",
185
- "spec/dummy/config/initializers/session_store.rb",
186
- "spec/dummy/config/initializers/wrap_parameters.rb",
187
- "spec/dummy/config/locales/devise.en.yml",
188
- "spec/dummy/config/locales/en.yml",
189
- "spec/dummy/config/mongoid.yml",
190
- "spec/dummy/config/routes.rb",
191
- "spec/dummy/db/migrate/20100930132559_create_users.rb",
192
- "spec/dummy/db/migrate/20100930132656_create_posts.rb",
193
- "spec/dummy/db/migrate/20100930132726_create_categories.rb",
194
- "spec/dummy/db/migrate/20100930132837_create_post_categories.rb",
195
- "spec/dummy/db/migrate/20100930133425_create_admin_profiles.rb",
196
- "spec/dummy/db/migrate/20101011155830_create_tags.rb",
197
- "spec/dummy/db/migrate/20101011160326_create_taggings.rb",
198
- "spec/dummy/db/migrate/20110107082706_create_friendships.rb",
199
- "spec/dummy/db/migrate/20110301072545_create_news.rb",
200
- "spec/dummy/db/migrate/20110912114129_create_puffer_users.rb",
201
- "spec/dummy/db/migrate/20110930183902_create_active_record_orm_primals.rb",
202
- "spec/dummy/db/schema.rb",
203
- "spec/dummy/db/seeds.rb",
204
- "spec/dummy/public/404.html",
205
- "spec/dummy/public/422.html",
206
- "spec/dummy/public/500.html",
207
- "spec/dummy/public/favicon.ico",
208
- "spec/dummy/public/robots.txt",
209
- "spec/dummy/script/rails",
210
- "spec/fabricators/active_record_orm/primal.rb",
211
- "spec/fabricators/categories_fabricator.rb",
212
- "spec/fabricators/mongoid_orm/primal.rb",
213
- "spec/fabricators/news_fabricator.rb",
214
- "spec/fabricators/posts_fabricator.rb",
215
- "spec/fabricators/profiles_fabricator.rb",
216
- "spec/fabricators/tags_fabricator.rb",
217
- "spec/fabricators/users_fabricator.rb",
218
- "spec/generators/puffer/component/component_generator_spec.rb",
219
- "spec/generators/puffer/controller/controller_generator_spec.rb",
220
- "spec/helpers/puffer_helper_spec.rb",
221
- "spec/integration/navigation_spec.rb",
222
- "spec/lib/component_spec.rb",
223
- "spec/lib/extensions/core_spec.rb",
224
- "spec/lib/fields_spec.rb",
225
- "spec/lib/filters_spec.rb",
226
- "spec/lib/orm_adapter/active_record_spec.rb",
227
- "spec/lib/orm_adapter/base_shared.rb",
228
- "spec/lib/orm_adapter/mongoid_spec.rb",
229
- "spec/lib/resource/routing_spec.rb",
230
- "spec/lib/resource/tree_spec.rb",
231
- "spec/lib/resource_spec.rb",
232
- "spec/puffer_spec.rb",
233
- "spec/spec_helper.rb"
234
- ]
235
- s.homepage = %q{http://github.com/puffer/puffer}
236
- s.require_paths = [%q{lib}]
237
- s.rubygems_version = %q{1.8.6}
238
- s.summary = %q{Admin interface builder}
14
+ s.rubyforge_project = "puffer"
239
15
 
240
- if s.respond_to? :specification_version then
241
- s.specification_version = 3
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
242
20
 
243
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
244
- s.add_runtime_dependency(%q<rails>, ["~> 3.1.0"])
245
- s.add_runtime_dependency(%q<kaminari>, [">= 0"])
246
- s.add_runtime_dependency(%q<orm_adapter>, [">= 0"])
247
- s.add_development_dependency(%q<sqlite3>, [">= 0"])
248
- s.add_development_dependency(%q<mongoid>, [">= 0"])
249
- s.add_development_dependency(%q<bson_ext>, [">= 0"])
250
- s.add_development_dependency(%q<devise>, [">= 0"])
251
- s.add_development_dependency(%q<rspec-rails>, [">= 0"])
252
- s.add_development_dependency(%q<capybara>, [">= 0"])
253
- s.add_development_dependency(%q<database_cleaner>, [">= 0"])
254
- s.add_development_dependency(%q<ammeter>, [">= 0"])
255
- s.add_development_dependency(%q<guard>, [">= 0"])
256
- s.add_development_dependency(%q<libnotify>, [">= 0"])
257
- s.add_development_dependency(%q<guard-rspec>, [">= 0"])
258
- s.add_development_dependency(%q<forgery>, [">= 0"])
259
- s.add_development_dependency(%q<fabrication>, [">= 0"])
260
- s.add_development_dependency(%q<jeweler>, [">= 0"])
261
- s.add_development_dependency(%q<nested_set>, [">= 0"])
262
- else
263
- s.add_dependency(%q<rails>, ["~> 3.1.0"])
264
- s.add_dependency(%q<kaminari>, [">= 0"])
265
- s.add_dependency(%q<orm_adapter>, [">= 0"])
266
- s.add_dependency(%q<sqlite3>, [">= 0"])
267
- s.add_dependency(%q<mongoid>, [">= 0"])
268
- s.add_dependency(%q<bson_ext>, [">= 0"])
269
- s.add_dependency(%q<devise>, [">= 0"])
270
- s.add_dependency(%q<rspec-rails>, [">= 0"])
271
- s.add_dependency(%q<capybara>, [">= 0"])
272
- s.add_dependency(%q<database_cleaner>, [">= 0"])
273
- s.add_dependency(%q<ammeter>, [">= 0"])
274
- s.add_dependency(%q<guard>, [">= 0"])
275
- s.add_dependency(%q<libnotify>, [">= 0"])
276
- s.add_dependency(%q<guard-rspec>, [">= 0"])
277
- s.add_dependency(%q<forgery>, [">= 0"])
278
- s.add_dependency(%q<fabrication>, [">= 0"])
279
- s.add_dependency(%q<jeweler>, [">= 0"])
280
- s.add_dependency(%q<nested_set>, [">= 0"])
281
- end
282
- else
283
- s.add_dependency(%q<rails>, ["~> 3.1.0"])
284
- s.add_dependency(%q<kaminari>, [">= 0"])
285
- s.add_dependency(%q<orm_adapter>, [">= 0"])
286
- s.add_dependency(%q<sqlite3>, [">= 0"])
287
- s.add_dependency(%q<mongoid>, [">= 0"])
288
- s.add_dependency(%q<bson_ext>, [">= 0"])
289
- s.add_dependency(%q<devise>, [">= 0"])
290
- s.add_dependency(%q<rspec-rails>, [">= 0"])
291
- s.add_dependency(%q<capybara>, [">= 0"])
292
- s.add_dependency(%q<database_cleaner>, [">= 0"])
293
- s.add_dependency(%q<ammeter>, [">= 0"])
294
- s.add_dependency(%q<guard>, [">= 0"])
295
- s.add_dependency(%q<libnotify>, [">= 0"])
296
- s.add_dependency(%q<guard-rspec>, [">= 0"])
297
- s.add_dependency(%q<forgery>, [">= 0"])
298
- s.add_dependency(%q<fabrication>, [">= 0"])
299
- s.add_dependency(%q<jeweler>, [">= 0"])
300
- s.add_dependency(%q<nested_set>, [">= 0"])
301
- end
302
- end
21
+ # specify any dependencies here; for example:
22
+ s.add_runtime_dependency(%q<rails>, ["~> 3.1.0"])
23
+ s.add_runtime_dependency(%q<kaminari>, [">= 0"])
24
+ s.add_runtime_dependency(%q<orm_adapter>, [">= 0"])
303
25
 
26
+ s.add_development_dependency(%q<sqlite3>, [">= 0"])
27
+ s.add_development_dependency(%q<mongoid>, [">= 0"])
28
+ s.add_development_dependency(%q<bson_ext>, [">= 0"])
29
+ s.add_development_dependency(%q<devise>, [">= 0"])
30
+ s.add_development_dependency(%q<rspec-rails>, [">= 0"])
31
+ s.add_development_dependency(%q<capybara>, [">= 0"])
32
+ s.add_development_dependency(%q<database_cleaner>, [">= 0"])
33
+ s.add_development_dependency(%q<ammeter>, [">= 0"])
34
+ s.add_development_dependency(%q<timecop>, [">= 0"])
35
+ s.add_development_dependency(%q<guard>, [">= 0"])
36
+ s.add_development_dependency(%q<libnotify>, [">= 0"])
37
+ s.add_development_dependency(%q<guard-rspec>, [">= 0"])
38
+ s.add_development_dependency(%q<forgery>, [">= 0"])
39
+ s.add_development_dependency(%q<fabrication>, [">= 0"])
40
+ s.add_development_dependency(%q<nested_set>, [">= 0"])
41
+ end
@@ -5,8 +5,8 @@ describe BaseComponent do
5
5
  include RSpec::Rails::RequestExampleGroup
6
6
 
7
7
  context 'index' do
8
-
9
8
  it 'should render field content' do
9
+ pending
10
10
  @category = Fabricate :category
11
11
  get admin_categories_path
12
12
 
@@ -6,6 +6,7 @@ describe BooleanComponent do
6
6
 
7
7
  context 'index' do
8
8
  it 'should render checkbox' do
9
+ pending
9
10
  @category = Fabricate :category
10
11
  get admin_categories_path
11
12
 
@@ -18,6 +19,7 @@ describe BooleanComponent do
18
19
 
19
20
  context 'form' do
20
21
  it 'should render form field' do
22
+ pending
21
23
  @category = Fabricate :category
22
24
  get admin_categories_path
23
25
 
@@ -7,6 +7,7 @@ describe DateTimeComponent do
7
7
  context 'form' do
8
8
 
9
9
  it 'should render form field' do
10
+ pending
10
11
  @user = Fabricate :user_with_profile
11
12
  get admin_user_profile_path(@user)
12
13
 
@@ -7,6 +7,7 @@ describe FileComponent do
7
7
  context 'form' do
8
8
 
9
9
  it 'should render form field' do
10
+ pending
10
11
  @post = Fabricate :post
11
12
  get admin_posts_path
12
13
 
@@ -7,6 +7,7 @@ describe HiddenComponent do
7
7
  context 'form' do
8
8
 
9
9
  it 'should render form field' do
10
+ pending
10
11
  @category = Fabricate :category
11
12
  get admin_categories_path
12
13
 
@@ -7,6 +7,7 @@ describe PasswordComponent do
7
7
  context 'form' do
8
8
 
9
9
  it 'should render form field' do
10
+ pending
10
11
  @user = Fabricate :user
11
12
  get admin_users_path
12
13
 
@@ -25,6 +26,7 @@ describe PasswordComponent do
25
26
  context 'index' do
26
27
 
27
28
  it 'should render field content' do
29
+ pending
28
30
  @user = Fabricate :user
29
31
  get admin_users_path
30
32
 
@@ -7,6 +7,7 @@ describe SelectComponent do
7
7
  context 'form' do
8
8
 
9
9
  it 'should render form field' do
10
+ pending
10
11
  @post = Fabricate :post
11
12
  get admin_posts_path
12
13
 
@@ -7,6 +7,7 @@ describe StringComponent do
7
7
  context 'form' do
8
8
 
9
9
  it 'should render form field' do
10
+ pending
10
11
  @category = Fabricate :category
11
12
  get admin_categories_path
12
13
 
@@ -7,6 +7,7 @@ describe TextComponent do
7
7
  context 'form' do
8
8
 
9
9
  it 'should render form field' do
10
+ pending
10
11
  @post = Fabricate :post
11
12
  get admin_posts_path
12
13
 
@@ -7,6 +7,8 @@ class Admin::NewsController < Puffer::Base
7
7
  index do
8
8
  field :title
9
9
  field :body
10
+ field :renderable, :render => lambda { @record.title }
11
+ field :renderable2, :render => :render_title
10
12
  end
11
13
 
12
14
  form do
@@ -8,7 +8,7 @@ class Admin::ProfilesController < Puffer::Base
8
8
  field 'user.email'
9
9
  field :name
10
10
  field :surname
11
- field :birth_date
11
+ field :birth_date, :format => :long
12
12
  end
13
13
 
14
14
  form do
@@ -2,6 +2,8 @@ class Admin::UsersController < Puffer::Base
2
2
 
3
3
  setup do
4
4
  group :users
5
+ order 'email desc'
6
+ show true
5
7
  end
6
8
 
7
9
  member do
@@ -20,6 +20,14 @@ class Orms::ActiveRecordOrmPrimalsController < Puffer::Base
20
20
  end
21
21
 
22
22
  form do
23
+ field :has_one_reference do
24
+ field :name
25
+ end
26
+
27
+ field :has_many_references do
28
+ field :name
29
+ end
30
+
23
31
  field :string_field
24
32
  field :text_field
25
33
  field :select_field, :select => (1..5).map {|i| "option #{i}"}
@@ -0,0 +1,7 @@
1
+ module NewsHelper
2
+
3
+ def render_title
4
+ @record.title
5
+ end
6
+
7
+ end
@@ -0,0 +1,5 @@
1
+ class ActiveRecordOrm::HasManyReference < ActiveRecord::Base
2
+ belongs_to :primal
3
+
4
+ validates :name, :presence => true
5
+ end
@@ -0,0 +1,5 @@
1
+ class ActiveRecordOrm::HasOneReference < ActiveRecord::Base
2
+ belongs_to :primal
3
+
4
+ validates :name, :presence => true
5
+ end
@@ -1,2 +1,6 @@
1
1
  class ActiveRecordOrm::Primal < ActiveRecord::Base
2
+ has_one :has_one_reference, :validate => true
3
+ has_many :has_many_references, :validate => true
4
+
5
+ accepts_nested_attributes_for :has_one_reference, :has_many_references, :allow_destroy => true
2
6
  end
@@ -26,5 +26,5 @@ Dummy::Application.configure do
26
26
  config.assets.compress = false
27
27
 
28
28
  # Expands the lines which load the assets
29
- config.assets.debug = true
29
+ config.assets.debug = false
30
30
  end
@@ -0,0 +1,10 @@
1
+ class CreateActiveRecordOrmHasOneReferences < ActiveRecord::Migration
2
+ def change
3
+ create_table :active_record_orm_has_one_references do |t|
4
+ t.string :name
5
+ t.integer :primal_id
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ class CreateActiveRecordOrmHasManyReferences < ActiveRecord::Migration
2
+ def change
3
+ create_table :active_record_orm_has_many_references do |t|
4
+ t.string :name
5
+ t.integer :primal_id
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -11,7 +11,21 @@
11
11
  #
12
12
  # It's strongly recommended to check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(:version => 20110930183902) do
14
+ ActiveRecord::Schema.define(:version => 20111122203304) do
15
+
16
+ create_table "active_record_orm_has_many_references", :force => true do |t|
17
+ t.string "name"
18
+ t.integer "primal_id"
19
+ t.datetime "created_at"
20
+ t.datetime "updated_at"
21
+ end
22
+
23
+ create_table "active_record_orm_has_one_references", :force => true do |t|
24
+ t.string "name"
25
+ t.integer "primal_id"
26
+ t.datetime "created_at"
27
+ t.datetime "updated_at"
28
+ end
15
29
 
16
30
  create_table "active_record_orm_primals", :force => true do |t|
17
31
  t.string "string_field"
@@ -10,7 +10,7 @@ require 'spec_helper'
10
10
  # end
11
11
  # end
12
12
  # end
13
- describe PufferHelper do
13
+ describe Puffer::Helpers::PufferHelper do
14
14
 
15
15
  it "generates scopes navigation" do
16
16
  helper.stub(:puffer_namespace).and_return(:admin)