resourcey 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 08220e7540269d7c02a3058371dbc684b12769b2
4
- data.tar.gz: ff2a774f66ebce7bf4b0126dcea60d57a9c7c0fa
3
+ metadata.gz: e697438e59653bcf3efda698e3afd006d29db62a
4
+ data.tar.gz: 44a960c0bfab303b27fa22488bd8d3fc5023c770
5
5
  SHA512:
6
- metadata.gz: 1ac82cee0ce23c84eec113fc7a949cb6c5b0167ae549ee9d939416ca8a28eca76feedf0a847ca02e8a5ddd0e88e438f1261e9e466ebdef25e7372a699cabca6b
7
- data.tar.gz: 8920071fe981a532febb3248a650ec750ab89de5b7b7a95cfc63e17f090e63b0670efdfa1482d4e94ce656256a8de8247225d087d83eae4d5b6d33fd6f365877
6
+ metadata.gz: 2eacaec8204b1b7bd4806d4b4872976bfe446157354a81dd317541eff58f5104ebf55a665ba5d928e80f7763eb18d54ab5c44b2b528d5c044d4a12118db41914
7
+ data.tar.gz: b97a0ad88136ef25c949404c3b595506a3fecff77ef5df96c1ee3c3bd267bf0e21ed739aa517616a3f9a58ea2bd65b3246b7bc6c4fcb9d07ea26082e809e8bc5
@@ -3,21 +3,11 @@ require 'action_controller'
3
3
  module Resourcey
4
4
  class Config
5
5
  attr_accessor :default_paginator
6
- attr_reader :controller_parent
6
+ attr_accessor :controller_parent
7
7
 
8
8
  def initialize
9
9
  self.default_paginator = :paged
10
- self.controller_parent = ActionController::Base
11
- end
12
-
13
- def controller_parent=(value)
14
- return @controller_parent = value if value.class == Class
15
-
16
- begin
17
- @controller_parent = value.to_s.constantize
18
- rescue
19
- raise Errors::RuntimeError.new("#{value} is not a valid class name")
20
- end
10
+ self.controller_parent = 'action_controller/base'
21
11
  end
22
12
  end
23
13
 
@@ -1,13 +1,14 @@
1
1
  require 'resourcey/controller_modules'
2
2
 
3
3
  module Resourcey
4
- class Controller < Resourcey.config.controller_parent
4
+ class Controller < Resourcey.config.controller_parent.classify.constantize
5
5
  include Resourcey::ControllerFiltering
6
6
  include Resourcey::ControllerPagination
7
7
  include Resourcey::ControllerModel
8
+ include Resourcey::ControllerCollectionScope
8
9
 
9
10
  def index
10
- render json: serialized_collection(paginated_resources)
11
+ render json: serialized_collection(scoped_resources)
11
12
  end
12
13
 
13
14
  def show
@@ -0,0 +1,20 @@
1
+ module Resourcey
2
+ module ControllerCollectionScope
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ class_attribute :scoping_method
7
+ end
8
+
9
+ def scoped_resources
10
+ return paginated_resources if self.scoping_method.nil?
11
+ self.scoping_method.call paginated_resources
12
+ end
13
+
14
+ module ClassMethods
15
+ def collection_scope(&block)
16
+ self.scoping_method = block
17
+ end
18
+ end
19
+ end
20
+ end
@@ -7,8 +7,8 @@ module Resourcey
7
7
  end
8
8
 
9
9
  module ClassMethods
10
- def use_model(model)
11
- self.controller_model = model
10
+ def use_model(model_or_name)
11
+ self.controller_model = model_or_name.to_s.classify.constantize
12
12
  end
13
13
  end
14
14
  end
@@ -1,3 +1,4 @@
1
1
  require 'resourcey/controller_filtering'
2
2
  require 'resourcey/controller_pagination'
3
3
  require 'resourcey/controller_model'
4
+ require 'resourcey/controller_collection_scope'
@@ -5,6 +5,5 @@ module Resourcey
5
5
  class NotImplemented < BaseError; end
6
6
  class ClassNotFound < BaseError; end
7
7
  class OptionNotAllowed < BaseError; end
8
- class RuntimeError < BaseError; end
9
8
  end
10
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resourcey
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - polakowski
@@ -90,6 +90,7 @@ files:
90
90
  - lib/resourcey.rb
91
91
  - lib/resourcey/config.rb
92
92
  - lib/resourcey/controller.rb
93
+ - lib/resourcey/controller_collection_scope.rb
93
94
  - lib/resourcey/controller_filtering.rb
94
95
  - lib/resourcey/controller_model.rb
95
96
  - lib/resourcey/controller_modules.rb