resourcey 0.4.2 → 0.4.3

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.
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