puffer 0.0.26 → 0.0.28

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.
data/Gemfile CHANGED
@@ -2,10 +2,13 @@ source "http://rubygems.org"
2
2
 
3
3
  gem 'rails', '~> 3.1.0'
4
4
  gem 'kaminari'
5
- gem 'apotomo'
5
+ gem 'orm_adapter'
6
6
 
7
7
  group :development, :test do
8
8
  gem "sqlite3"
9
+ gem "mongoid"
10
+ gem "bson_ext"
11
+
9
12
 
10
13
  gem "rspec-rails"
11
14
  gem "capybara"
data/Gemfile.lock CHANGED
@@ -30,12 +30,10 @@ GEM
30
30
  activesupport (= 3.1.0)
31
31
  activesupport (3.1.0)
32
32
  multi_json (~> 1.0)
33
- apotomo (1.1.2)
34
- cells (>= 3.5.6)
35
- hooks (~> 0.1.3)
36
- onfire (~> 0.2.0)
37
33
  arel (2.2.1)
38
34
  bcrypt-ruby (3.0.0)
35
+ bson (1.3.1)
36
+ bson_ext (1.3.1)
39
37
  builder (3.0.0)
40
38
  capybara (1.1.1)
41
39
  mime-types (>= 1.16)
@@ -44,9 +42,6 @@ GEM
44
42
  rack-test (>= 0.5.4)
45
43
  selenium-webdriver (~> 2.0)
46
44
  xpath (~> 0.1.4)
47
- cells (3.6.5)
48
- actionpack (~> 3.0)
49
- railties (~> 3.0)
50
45
  childprocess (0.2.2)
51
46
  ffi (~> 1.0.6)
52
47
  database_cleaner (0.6.7)
@@ -62,7 +57,6 @@ GEM
62
57
  guard-rspec (0.4.4)
63
58
  guard (>= 0.4.0)
64
59
  hike (1.2.1)
65
- hooks (0.1.4)
66
60
  i18n (0.6.0)
67
61
  jeweler (1.6.4)
68
62
  bundler (~> 1.0)
@@ -78,12 +72,18 @@ GEM
78
72
  mime-types (~> 1.16)
79
73
  treetop (~> 1.4.8)
80
74
  mime-types (1.16)
75
+ mongo (1.3.1)
76
+ bson (>= 1.3.1)
77
+ mongoid (2.2.0)
78
+ activemodel (~> 3.0)
79
+ mongo (~> 1.3)
80
+ tzinfo (~> 0.3.22)
81
81
  multi_json (1.0.3)
82
82
  nested_set (1.6.8)
83
83
  activerecord (>= 3.0.0)
84
84
  railties (>= 3.0.0)
85
85
  nokogiri (1.5.0)
86
- onfire (0.2.0)
86
+ orm_adapter (0.0.5)
87
87
  polyglot (0.3.2)
88
88
  rack (1.3.2)
89
89
  rack-cache (1.0.3)
@@ -149,7 +149,7 @@ PLATFORMS
149
149
  ruby
150
150
 
151
151
  DEPENDENCIES
152
- apotomo
152
+ bson_ext
153
153
  capybara
154
154
  database_cleaner
155
155
  fabrication
@@ -159,7 +159,9 @@ DEPENDENCIES
159
159
  jeweler
160
160
  kaminari
161
161
  libnotify
162
+ mongoid
162
163
  nested_set
164
+ orm_adapter
163
165
  rails (~> 3.1.0)
164
166
  rspec-rails
165
167
  sqlite3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.26
1
+ 0.0.28
@@ -1,22 +1,4 @@
1
1
  <% content_for :input do %>
2
- <% value = [
3
- swallow_nil{opts[:form].object.send(field.name)[field.reflection.primary_key_column.name.to_sym]},
4
- swallow_nil{opts[:form].object.send(field.name).to_title}
5
- ].compact.join(' - ')
6
- %>
7
-
8
- <div class="association">
9
- <%= text_field_tag field, value, field.input_options.merge(
10
- :autocomplete => :off,
11
- :disabled => (true if opts[:form].object.send(field.name)),
12
- 'data-autocompleter' => "{url: '#{event_path :choose}', onDone: association_done}"
13
- ) %>
14
- <div class="association_clear">×</div>
15
- <%= opts[:form].hidden_field field.reflection.foreign_key %>
16
- </div>
17
- <% end %>
18
-
19
- <% clean_content_for :input do %>
20
2
  <% link_to "Choose", '#', :"data-dialog-uri" => event_path(:choose) %>
21
3
  <% end %>
22
4
 
@@ -42,7 +42,7 @@
42
42
 
43
43
  <% if false %>
44
44
  <% if resource_session[:search].present? %>
45
- <%= link_to 'clear', resource.collection_path(:search => '') %>
45
+ <%= link_to 'clear', resource.collection_path %>
46
46
  <% end %>
47
47
  <% end %>
48
48
  <% end %>
@@ -12,6 +12,8 @@ module Puffer
12
12
  # handling and component state changing
13
13
  class Base < AbstractController::Base
14
14
 
15
+ abstract!
16
+
15
17
  module ComponentHelper
16
18
  def component_wrap name = :span, options = {}, &block
17
19
  content_tag name, options.merge(:id => component_id), &block
@@ -28,21 +30,19 @@ module Puffer
28
30
  end
29
31
  end
30
32
 
31
- module SingletonMethods
33
+ module ClassMethods
32
34
  def render_component parent_controller, field, context, *args
33
35
  klass = "#{field.type}_component".camelize.constantize rescue StringComponent
34
36
  component = klass.new field
35
37
  component.process parent_controller, context, *args
36
38
  end
37
- end
38
39
 
39
- module ClassMethods
40
40
  def controller_path
41
41
  @controller_path ||= name.sub(/Component$/, '').underscore unless anonymous?
42
42
  end
43
43
  end
44
44
 
45
- abstract!
45
+ extend ClassMethods
46
46
 
47
47
  include AbstractController::Rendering
48
48
  include AbstractController::Helpers
@@ -54,9 +54,6 @@ module Puffer
54
54
  include ActionController::UrlFor
55
55
  include Rails.application.routes.url_helpers
56
56
 
57
- extend SingletonMethods
58
- extend ClassMethods
59
-
60
57
  helper ComponentHelper, PufferHelper
61
58
 
62
59
  attr_accessor :parent_controller, :field, :opts, :identifer
@@ -1,18 +1,14 @@
1
1
  module Puffer
2
2
  module Controller
3
3
  module Config
4
+ extend ActiveSupport::Concern
4
5
 
5
- def self.included base
6
- base.class_eval do
7
- extend ClassMethods
8
- include InstanceMethods
6
+ included do
7
+ puffer_class_attribute :group
8
+ puffer_class_attribute :model_name
9
+ puffer_class_attribute :destroy, true
9
10
 
10
- puffer_class_attribute :group
11
- puffer_class_attribute :model_name
12
- puffer_class_attribute :destroy, true
13
-
14
- helper_method :configuration
15
- end
11
+ helper_method :configuration
16
12
  end
17
13
 
18
14
  module InstanceMethods
@@ -1,26 +1,27 @@
1
1
  module Puffer
2
2
  module Controller
3
3
  module Mutate
4
+ extend ActiveSupport::Concern
4
5
 
5
- def self.included base
6
- base.class_eval do
7
- extend ClassMethods
8
- include InstanceMethods
9
-
10
- layout 'puffer'
11
- helper :puffer
12
- helper_method :puffer?, :namespace
13
- end
6
+ included do
7
+ layout 'puffer'
8
+ helper :puffer
9
+ delegate :namespace, :model, :model_name, :to => 'self.class'
10
+ helper_method :namespace, :resource, :record, :records
14
11
  end
15
12
 
16
13
  module InstanceMethods
17
14
 
18
- def puffer?
19
- self.class.puffer?
15
+ def resource
16
+ @resource ||= Puffer::Resource.new params, self
20
17
  end
21
18
 
22
- def namespace
23
- self.class.namespace
19
+ def record
20
+ @record || instance_variable_get("@#{resource.model_name}")
21
+ end
22
+
23
+ def records
24
+ @records || instance_variable_get("@#{resource.model_name.pluralize}")
24
25
  end
25
26
 
26
27
  end
@@ -5,30 +5,22 @@ module Puffer
5
5
  extend ActiveSupport::Concern
6
6
 
7
7
  included do
8
- extend ClassMethods
9
-
10
- helper_method :puffer?, :render_component
8
+ delegate :puffer?, :to => 'self.class'
9
+ helper_method :puffer?
11
10
  end
12
11
 
13
12
  module ClassMethods
14
- def puffer?; false; end
13
+ def puffer?
14
+ false
15
+ end
15
16
 
16
17
  def pufferize!
17
18
  include Puffer::Controller::Mutate
18
- include Puffer::Controller::Helpers
19
19
  include Puffer::Controller::Dsl
20
20
  include Puffer::Controller::Config
21
21
  end
22
22
  end
23
23
 
24
- module InstanceMethods
25
- def puffer?; false; end
26
-
27
- def render_component *args
28
- Puffer::Component::Base.render_component self, *args
29
- end
30
- end
31
-
32
24
  end
33
25
  end
34
26
  end
@@ -1,6 +1,12 @@
1
1
  module Puffer
2
2
  module Extensions
3
3
 
4
+ module Object
5
+ def call_chain chain
6
+ swallow_nil{instance_eval(chain.to_s)}
7
+ end
8
+ end
9
+
4
10
  module String
5
11
  def singular?
6
12
  self.singularize == self
@@ -37,6 +43,7 @@ module Puffer
37
43
  end
38
44
  end
39
45
 
46
+ Object.send :include, Puffer::Extensions::Object
40
47
  String.send :include, Puffer::Extensions::String
41
48
  Symbol.send :include, Puffer::Extensions::Symbol
42
49
  Array.send :include, Puffer::Extensions::Array
@@ -1,13 +1,11 @@
1
1
  module Puffer
2
2
  module Extensions
3
3
  module Mapper
4
+ extend ActiveSupport::Concern
4
5
 
5
- def self.included base
6
- base.class_eval do
7
- include InstanceMethods
8
- alias_method_chain :resource, :puffer
9
- alias_method_chain :resources, :puffer
10
- end
6
+ included do
7
+ alias_method_chain :resource, :puffer
8
+ alias_method_chain :resources, :puffer
11
9
  end
12
10
 
13
11
  module InstanceMethods
data/lib/puffer/field.rb CHANGED
@@ -83,11 +83,11 @@ module Puffer
83
83
  end
84
84
 
85
85
  def column
86
- @column ||= model && model.columns_hash[name]
86
+ @column ||= model && model.to_adapter.columns_hash[name]
87
87
  end
88
88
 
89
89
  def column_type
90
- column.type if column
90
+ column[:type] if column
91
91
  end
92
92
 
93
93
  def query_column
@@ -14,7 +14,7 @@ module Puffer
14
14
  end
15
15
 
16
16
  def searchable
17
- @searchable ||= map { |f| f if f.column && [:text, :string, :integer, :decimal, :float].include?(f.column.type) }.compact
17
+ @searchable ||= map { |f| f if f.column && [:text, :string, :integer, :decimal, :float].include?(f.column_type) }.compact
18
18
  end
19
19
 
20
20
  def searches query
@@ -0,0 +1,15 @@
1
+ module Puffer
2
+ module OrmAdapter
3
+ module ActiveRecord
4
+
5
+ def columns_hash
6
+ klass.columns_hash.inject({}) do |result, (name, object)|
7
+ result.merge name => {:type => object.type}
8
+ end
9
+ end
10
+
11
+ end
12
+ end
13
+ end
14
+
15
+ ActiveRecord::Base::OrmAdapter.send :include, Puffer::OrmAdapter::ActiveRecord
@@ -0,0 +1,13 @@
1
+ module Puffer
2
+ module OrmAdapter
3
+ module Base
4
+
5
+ def columns_hash
6
+ raise NotSupportedError
7
+ end
8
+
9
+ end
10
+ end
11
+ end
12
+
13
+ OrmAdapter::Base.send :include, Puffer::OrmAdapter::Base
@@ -0,0 +1,15 @@
1
+ module Puffer
2
+ module OrmAdapter
3
+ module Mongoid
4
+
5
+ def columns_hash
6
+ klass.fields.inject({}) do |result, (name, object)|
7
+ result.merge name => {:type => object.type.to_s.underscore.to_sym}
8
+ end
9
+ end
10
+
11
+ end
12
+ end
13
+ end
14
+
15
+ Mongoid::Document::OrmAdapter.send :include, Puffer::OrmAdapter::Mongoid
@@ -10,7 +10,7 @@ module Puffer
10
10
  end
11
11
 
12
12
  def member_url *args
13
- suggest = args.shift if args.first.is_a? ActiveRecord::Base
13
+ suggest = args.shift if args.first.respond_to? :to_key
14
14
  polymorphic_url *route_args(route_member(suggest), *args)
15
15
  end
16
16
 
@@ -19,7 +19,7 @@ module Puffer
19
19
  end
20
20
 
21
21
  def edit_url *args
22
- suggest = args.shift if args.first.is_a? ActiveRecord::Base
22
+ suggest = args.shift if args.first.respond_to? :to_key
23
23
  edit_polymorphic_url *route_args(route_member(suggest), *args)
24
24
  end
25
25
 
@@ -106,12 +106,12 @@ module Puffer
106
106
  def member
107
107
  if parent
108
108
  if plural?
109
- parent.member.send(model_name.pluralize).find params[:id]
109
+ parent.member.send(model_name.pluralize).find params[:id] if params[:id]
110
110
  else
111
111
  parent.member.send(model_name)
112
112
  end
113
113
  else
114
- model.find params[:id]
114
+ model.find params[:id] if params[:id]
115
115
  end
116
116
  end
117
117
 
data/lib/puffer.rb CHANGED
@@ -1,6 +1,12 @@
1
1
  require 'kaminari'
2
2
 
3
- require 'puffer/extensions/activerecord'
3
+ require 'orm_adapter'
4
+ require 'puffer/orm_adapter/base'
5
+ require 'puffer/orm_adapter/active_record' if defined?(ActiveRecord::Base::OrmAdapter)
6
+ require 'puffer/orm_adapter/mongoid' if defined?(Mongoid::Document::OrmAdapter)
7
+ #require 'puffer/orm_adapter/data_mapper' if defined?(DataMapper::Resource::OrmAdapter)
8
+ #require 'puffer/orm_adapter/mongo_mapper' if defined?(MongoMapper::Document::OrmAdapter)
9
+
4
10
  require 'puffer/extensions/controller'
5
11
  require 'puffer/extensions/core'
6
12
  require 'puffer/extensions/mapper'
@@ -9,6 +15,12 @@ require 'puffer/extensions/engine'
9
15
  require 'puffer/engine'
10
16
 
11
17
  module Puffer
18
+
19
+ module Controller
20
+ autoload :Action, 'puffer/controller/actions'
21
+ autoload :MemberAction, 'puffer/controller/actions'
22
+ autoload :CollectionAction, 'puffer/controller/actions'
23
+ end
12
24
 
13
25
  module Component
14
26
  autoload :Base, 'puffer/component'
@@ -29,12 +41,7 @@ module Puffer
29
41
  map_component :has_many, :has_and_belongs_to_many, :to => :ReferencesManyComponent
30
42
  map_component :date, :time, :datetime, :timestamp, :to => :DateTimeComponent
31
43
  map_component :integer, :decimal, :to => :StringComponent
32
- end
33
-
34
- module Controller
35
- autoload :Action, 'puffer/controller/actions'
36
- autoload :MemberAction, 'puffer/controller/actions'
37
- autoload :CollectionAction, 'puffer/controller/actions'
44
+ map_component :array, :decimal, :to => :StringComponent
38
45
  end
39
46
 
40
47
  end
data/puffer.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{puffer}
8
- s.version = "0.0.26"
8
+ s.version = "0.0.28"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{pyromaniac}]
12
- s.date = %q{2011-09-10}
12
+ s.date = %q{2011-09-11}
13
13
  s.description = %q{In Soviet Russia puffer admins you}
14
14
  s.email = %q{kinwizard@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -101,10 +101,8 @@ Gem::Specification.new do |s|
101
101
  "lib/puffer/controller/actions.rb",
102
102
  "lib/puffer/controller/config.rb",
103
103
  "lib/puffer/controller/dsl.rb",
104
- "lib/puffer/controller/helpers.rb",
105
104
  "lib/puffer/controller/mutate.rb",
106
105
  "lib/puffer/engine.rb",
107
- "lib/puffer/extensions/activerecord.rb",
108
106
  "lib/puffer/extensions/controller.rb",
109
107
  "lib/puffer/extensions/core.rb",
110
108
  "lib/puffer/extensions/engine.rb",
@@ -112,6 +110,9 @@ Gem::Specification.new do |s|
112
110
  "lib/puffer/extensions/mapper.rb",
113
111
  "lib/puffer/field.rb",
114
112
  "lib/puffer/field_set.rb",
113
+ "lib/puffer/orm_adapter/active_record.rb",
114
+ "lib/puffer/orm_adapter/base.rb",
115
+ "lib/puffer/orm_adapter/mongoid.rb",
115
116
  "lib/puffer/resource.rb",
116
117
  "lib/puffer/resource/routing.rb",
117
118
  "lib/puffer/resource/scoping.rb",
@@ -141,9 +142,11 @@ Gem::Specification.new do |s|
141
142
  "spec/dummy/app/controllers/admin/tags_controller.rb",
142
143
  "spec/dummy/app/controllers/admin/users_controller.rb",
143
144
  "spec/dummy/app/controllers/application_controller.rb",
145
+ "spec/dummy/app/controllers/orms/mongoid_tests_controller.rb",
144
146
  "spec/dummy/app/helpers/application_helper.rb",
145
147
  "spec/dummy/app/models/category.rb",
146
148
  "spec/dummy/app/models/friendship.rb",
149
+ "spec/dummy/app/models/mongoid_test.rb",
147
150
  "spec/dummy/app/models/news.rb",
148
151
  "spec/dummy/app/models/post.rb",
149
152
  "spec/dummy/app/models/post_category.rb",
@@ -168,6 +171,7 @@ Gem::Specification.new do |s|
168
171
  "spec/dummy/config/initializers/session_store.rb",
169
172
  "spec/dummy/config/initializers/wrap_parameters.rb",
170
173
  "spec/dummy/config/locales/en.yml",
174
+ "spec/dummy/config/mongoid.yml",
171
175
  "spec/dummy/config/routes.rb",
172
176
  "spec/dummy/db/migrate/20100930132559_create_users.rb",
173
177
  "spec/dummy/db/migrate/20100930132656_create_posts.rb",
@@ -213,8 +217,10 @@ Gem::Specification.new do |s|
213
217
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
214
218
  s.add_runtime_dependency(%q<rails>, ["~> 3.1.0"])
215
219
  s.add_runtime_dependency(%q<kaminari>, [">= 0"])
216
- s.add_runtime_dependency(%q<apotomo>, [">= 0"])
220
+ s.add_runtime_dependency(%q<orm_adapter>, [">= 0"])
217
221
  s.add_development_dependency(%q<sqlite3>, [">= 0"])
222
+ s.add_development_dependency(%q<mongoid>, [">= 0"])
223
+ s.add_development_dependency(%q<bson_ext>, [">= 0"])
218
224
  s.add_development_dependency(%q<rspec-rails>, [">= 0"])
219
225
  s.add_development_dependency(%q<capybara>, [">= 0"])
220
226
  s.add_development_dependency(%q<database_cleaner>, [">= 0"])
@@ -228,8 +234,10 @@ Gem::Specification.new do |s|
228
234
  else
229
235
  s.add_dependency(%q<rails>, ["~> 3.1.0"])
230
236
  s.add_dependency(%q<kaminari>, [">= 0"])
231
- s.add_dependency(%q<apotomo>, [">= 0"])
237
+ s.add_dependency(%q<orm_adapter>, [">= 0"])
232
238
  s.add_dependency(%q<sqlite3>, [">= 0"])
239
+ s.add_dependency(%q<mongoid>, [">= 0"])
240
+ s.add_dependency(%q<bson_ext>, [">= 0"])
233
241
  s.add_dependency(%q<rspec-rails>, [">= 0"])
234
242
  s.add_dependency(%q<capybara>, [">= 0"])
235
243
  s.add_dependency(%q<database_cleaner>, [">= 0"])
@@ -244,8 +252,10 @@ Gem::Specification.new do |s|
244
252
  else
245
253
  s.add_dependency(%q<rails>, ["~> 3.1.0"])
246
254
  s.add_dependency(%q<kaminari>, [">= 0"])
247
- s.add_dependency(%q<apotomo>, [">= 0"])
255
+ s.add_dependency(%q<orm_adapter>, [">= 0"])
248
256
  s.add_dependency(%q<sqlite3>, [">= 0"])
257
+ s.add_dependency(%q<mongoid>, [">= 0"])
258
+ s.add_dependency(%q<bson_ext>, [">= 0"])
249
259
  s.add_dependency(%q<rspec-rails>, [">= 0"])
250
260
  s.add_dependency(%q<capybara>, [">= 0"])
251
261
  s.add_dependency(%q<database_cleaner>, [">= 0"])
@@ -0,0 +1,19 @@
1
+ class Orms::MongoidTestsController < Puffer::Base
2
+
3
+ setup do
4
+ group :mongoid
5
+ end
6
+
7
+ index do
8
+ field :string_field
9
+ field :integer_field
10
+ field :array_field
11
+ end
12
+
13
+ form do
14
+ field :string_field
15
+ field :integer_field
16
+ field :array_field
17
+ end
18
+
19
+ end
@@ -0,0 +1,13 @@
1
+ class MongoidTest
2
+ include Mongoid::Document
3
+
4
+ field :string_field, :type => String
5
+ field :integer_field, :type => Integer, :default => 0
6
+ field :array_field, :type => Array
7
+
8
+ def array_field= value
9
+ value = value.split(',').map(&:strip).map(&:presence) if value.is_a? String
10
+ write_attribute :array_field, value
11
+ end
12
+
13
+ end
@@ -1,6 +1,6 @@
1
1
  class Post < ActiveRecord::Base
2
2
  has_many :post_categories
3
- has_many :categories, :through => :post_categoriess
3
+ has_many :categories, :through => :post_categories
4
4
  belongs_to :user
5
5
 
6
6
  def self.statuses
@@ -0,0 +1,11 @@
1
+ development:
2
+ host: localhost
3
+ database: puffer_development
4
+
5
+ test:
6
+ host: localhost
7
+ database: puffer_test
8
+
9
+ production:
10
+ host: localhost
11
+ database: puffer_development
@@ -28,4 +28,8 @@ Dummy::Application.routes.draw do
28
28
  resources :news
29
29
  end
30
30
 
31
+ namespace :orms do
32
+ resources :mongoid_tests
33
+ end
34
+
31
35
  end
@@ -29,7 +29,7 @@ describe "Field" do
29
29
 
30
30
  it "#column" do
31
31
  field = Puffer::Field.new 'user.profile.name', Post
32
- field.column.name.should == 'name'
32
+ field.name.should == 'name'
33
33
  field = Puffer::Field.new 'user.full_name', Post
34
34
  field.column.should == nil
35
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puffer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.26
4
+ version: 0.0.28
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-10 00:00:00.000000000Z
12
+ date: 2011-09-11 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &17946500 !ruby/object:Gem::Requirement
16
+ requirement: &10916560 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *17946500
24
+ version_requirements: *10916560
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: kaminari
27
- requirement: &17920780 !ruby/object:Gem::Requirement
27
+ requirement: &10916000 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *17920780
35
+ version_requirements: *10916000
36
36
  - !ruby/object:Gem::Dependency
37
- name: apotomo
38
- requirement: &17919780 !ruby/object:Gem::Requirement
37
+ name: orm_adapter
38
+ requirement: &10915480 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *17919780
46
+ version_requirements: *10915480
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sqlite3
49
- requirement: &17918520 !ruby/object:Gem::Requirement
49
+ requirement: &10914960 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,32 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *17918520
57
+ version_requirements: *10914960
58
+ - !ruby/object:Gem::Dependency
59
+ name: mongoid
60
+ requirement: &10914380 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *10914380
69
+ - !ruby/object:Gem::Dependency
70
+ name: bson_ext
71
+ requirement: &10913880 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *10913880
58
80
  - !ruby/object:Gem::Dependency
59
81
  name: rspec-rails
60
- requirement: &17917020 !ruby/object:Gem::Requirement
82
+ requirement: &10913380 !ruby/object:Gem::Requirement
61
83
  none: false
62
84
  requirements:
63
85
  - - ! '>='
@@ -65,10 +87,10 @@ dependencies:
65
87
  version: '0'
66
88
  type: :development
67
89
  prerelease: false
68
- version_requirements: *17917020
90
+ version_requirements: *10913380
69
91
  - !ruby/object:Gem::Dependency
70
92
  name: capybara
71
- requirement: &17916140 !ruby/object:Gem::Requirement
93
+ requirement: &10912880 !ruby/object:Gem::Requirement
72
94
  none: false
73
95
  requirements:
74
96
  - - ! '>='
@@ -76,10 +98,10 @@ dependencies:
76
98
  version: '0'
77
99
  type: :development
78
100
  prerelease: false
79
- version_requirements: *17916140
101
+ version_requirements: *10912880
80
102
  - !ruby/object:Gem::Dependency
81
103
  name: database_cleaner
82
- requirement: &17915220 !ruby/object:Gem::Requirement
104
+ requirement: &10912260 !ruby/object:Gem::Requirement
83
105
  none: false
84
106
  requirements:
85
107
  - - ! '>='
@@ -87,10 +109,10 @@ dependencies:
87
109
  version: '0'
88
110
  type: :development
89
111
  prerelease: false
90
- version_requirements: *17915220
112
+ version_requirements: *10912260
91
113
  - !ruby/object:Gem::Dependency
92
114
  name: guard
93
- requirement: &17913940 !ruby/object:Gem::Requirement
115
+ requirement: &10911680 !ruby/object:Gem::Requirement
94
116
  none: false
95
117
  requirements:
96
118
  - - ! '>='
@@ -98,10 +120,10 @@ dependencies:
98
120
  version: '0'
99
121
  type: :development
100
122
  prerelease: false
101
- version_requirements: *17913940
123
+ version_requirements: *10911680
102
124
  - !ruby/object:Gem::Dependency
103
125
  name: libnotify
104
- requirement: &17911100 !ruby/object:Gem::Requirement
126
+ requirement: &10911140 !ruby/object:Gem::Requirement
105
127
  none: false
106
128
  requirements:
107
129
  - - ! '>='
@@ -109,10 +131,10 @@ dependencies:
109
131
  version: '0'
110
132
  type: :development
111
133
  prerelease: false
112
- version_requirements: *17911100
134
+ version_requirements: *10911140
113
135
  - !ruby/object:Gem::Dependency
114
136
  name: guard-rspec
115
- requirement: &17910260 !ruby/object:Gem::Requirement
137
+ requirement: &10910620 !ruby/object:Gem::Requirement
116
138
  none: false
117
139
  requirements:
118
140
  - - ! '>='
@@ -120,10 +142,10 @@ dependencies:
120
142
  version: '0'
121
143
  type: :development
122
144
  prerelease: false
123
- version_requirements: *17910260
145
+ version_requirements: *10910620
124
146
  - !ruby/object:Gem::Dependency
125
147
  name: forgery
126
- requirement: &17909240 !ruby/object:Gem::Requirement
148
+ requirement: &10910100 !ruby/object:Gem::Requirement
127
149
  none: false
128
150
  requirements:
129
151
  - - ! '>='
@@ -131,10 +153,10 @@ dependencies:
131
153
  version: '0'
132
154
  type: :development
133
155
  prerelease: false
134
- version_requirements: *17909240
156
+ version_requirements: *10910100
135
157
  - !ruby/object:Gem::Dependency
136
158
  name: fabrication
137
- requirement: &17908440 !ruby/object:Gem::Requirement
159
+ requirement: &10909540 !ruby/object:Gem::Requirement
138
160
  none: false
139
161
  requirements:
140
162
  - - ! '>='
@@ -142,10 +164,10 @@ dependencies:
142
164
  version: '0'
143
165
  type: :development
144
166
  prerelease: false
145
- version_requirements: *17908440
167
+ version_requirements: *10909540
146
168
  - !ruby/object:Gem::Dependency
147
169
  name: jeweler
148
- requirement: &17907540 !ruby/object:Gem::Requirement
170
+ requirement: &10908960 !ruby/object:Gem::Requirement
149
171
  none: false
150
172
  requirements:
151
173
  - - ! '>='
@@ -153,10 +175,10 @@ dependencies:
153
175
  version: '0'
154
176
  type: :development
155
177
  prerelease: false
156
- version_requirements: *17907540
178
+ version_requirements: *10908960
157
179
  - !ruby/object:Gem::Dependency
158
180
  name: nested_set
159
- requirement: &17906580 !ruby/object:Gem::Requirement
181
+ requirement: &10908460 !ruby/object:Gem::Requirement
160
182
  none: false
161
183
  requirements:
162
184
  - - ! '>='
@@ -164,7 +186,7 @@ dependencies:
164
186
  version: '0'
165
187
  type: :development
166
188
  prerelease: false
167
- version_requirements: *17906580
189
+ version_requirements: *10908460
168
190
  description: In Soviet Russia puffer admins you
169
191
  email: kinwizard@gmail.com
170
192
  executables: []
@@ -257,10 +279,8 @@ files:
257
279
  - lib/puffer/controller/actions.rb
258
280
  - lib/puffer/controller/config.rb
259
281
  - lib/puffer/controller/dsl.rb
260
- - lib/puffer/controller/helpers.rb
261
282
  - lib/puffer/controller/mutate.rb
262
283
  - lib/puffer/engine.rb
263
- - lib/puffer/extensions/activerecord.rb
264
284
  - lib/puffer/extensions/controller.rb
265
285
  - lib/puffer/extensions/core.rb
266
286
  - lib/puffer/extensions/engine.rb
@@ -268,6 +288,9 @@ files:
268
288
  - lib/puffer/extensions/mapper.rb
269
289
  - lib/puffer/field.rb
270
290
  - lib/puffer/field_set.rb
291
+ - lib/puffer/orm_adapter/active_record.rb
292
+ - lib/puffer/orm_adapter/base.rb
293
+ - lib/puffer/orm_adapter/mongoid.rb
271
294
  - lib/puffer/resource.rb
272
295
  - lib/puffer/resource/routing.rb
273
296
  - lib/puffer/resource/scoping.rb
@@ -297,9 +320,11 @@ files:
297
320
  - spec/dummy/app/controllers/admin/tags_controller.rb
298
321
  - spec/dummy/app/controllers/admin/users_controller.rb
299
322
  - spec/dummy/app/controllers/application_controller.rb
323
+ - spec/dummy/app/controllers/orms/mongoid_tests_controller.rb
300
324
  - spec/dummy/app/helpers/application_helper.rb
301
325
  - spec/dummy/app/models/category.rb
302
326
  - spec/dummy/app/models/friendship.rb
327
+ - spec/dummy/app/models/mongoid_test.rb
303
328
  - spec/dummy/app/models/news.rb
304
329
  - spec/dummy/app/models/post.rb
305
330
  - spec/dummy/app/models/post_category.rb
@@ -324,6 +349,7 @@ files:
324
349
  - spec/dummy/config/initializers/session_store.rb
325
350
  - spec/dummy/config/initializers/wrap_parameters.rb
326
351
  - spec/dummy/config/locales/en.yml
352
+ - spec/dummy/config/mongoid.yml
327
353
  - spec/dummy/config/routes.rb
328
354
  - spec/dummy/db/migrate/20100930132559_create_users.rb
329
355
  - spec/dummy/db/migrate/20100930132656_create_posts.rb
@@ -371,7 +397,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
371
397
  version: '0'
372
398
  segments:
373
399
  - 0
374
- hash: -1489774044213861693
400
+ hash: 2497691897434957664
375
401
  required_rubygems_version: !ruby/object:Gem::Requirement
376
402
  none: false
377
403
  requirements:
@@ -1,31 +0,0 @@
1
- module Puffer
2
- module Controller
3
- module Helpers
4
-
5
- def self.included base
6
- base.class_eval do
7
- include InstanceMethods
8
-
9
- helper_method :resource_session, :resource, :record, :records
10
- end
11
- end
12
-
13
- module InstanceMethods
14
-
15
- def resource
16
- @resource ||= Puffer::Resource.new params, self
17
- end
18
-
19
- def record
20
- @record || instance_variable_get("@#{resource.model_name}")
21
- end
22
-
23
- def records
24
- @records || instance_variable_get("@#{resource.model_name.pluralize}")
25
- end
26
-
27
- end
28
-
29
- end
30
- end
31
- end
@@ -1,23 +0,0 @@
1
- module Puffer
2
- module Extensions
3
- module ActiveRecord
4
- module Base
5
-
6
- def call_chain chain
7
- swallow_nil{instance_eval(chain.to_s)}
8
- end
9
-
10
- def to_title
11
- send title_method
12
- end
13
-
14
- def title_method
15
- self.class.column_names.detect {|c| c =~ /name|title/} || self.class.column_names[1].to_sym
16
- end
17
-
18
- end
19
- end
20
- end
21
- end
22
-
23
- ActiveRecord::Base.send :include, Puffer::Extensions::ActiveRecord::Base