scopie_rails 0.1.0 → 0.2.0

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: 7b87a500d591c3abc582b4f6b1dcf1b67db675de
4
- data.tar.gz: 92bba21338fb2a297186c5e2c325fa796fb74ac3
3
+ metadata.gz: d709cd41d5dbae30fa15a4dfc02d956433688079
4
+ data.tar.gz: ed3c1303ce2903a37d8c144edf7b8f23046f71de
5
5
  SHA512:
6
- metadata.gz: 5d4a3020015fecd7027147d14ac6e68a0f84db6e982c146b5987630d76a4107429803f7160fa174b5bac10121823487dc4449845c26b63f72864bf72a59acf77
7
- data.tar.gz: 0753fed79fa958e062a98d0d8054c63312558dae8c21d26cd242cbb6bc2f6b0f9376c03d92d660eb826f339fecff52653e174754436c46b1292318e734b0e88e
6
+ metadata.gz: 7d34cd601c277d93720362a3c2a211ad9874f113ff55018b210434c6505c1f0fcb899787ac23c04f8c2e058cbe8bc718af6f281aaf4ef2cb8831945ef4d1b943
7
+ data.tar.gz: 3c84b48a12da15d8e7fc1955f498bcb44232ab0f135e54e7f676eb0b70edb8b4f4cc16ad9c609a2217f7dfb4c6906c6429f2005550833fb1e98a2a929eedd9cb
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ScopieRails::Base < Scopie::Base
4
+
5
+ attr_reader :controller
6
+
7
+ def initialize(controller)
8
+ super()
9
+ @controller = controller
10
+ end
11
+
12
+ end
@@ -0,0 +1,29 @@
1
+ module ScopieRails::Controller
2
+ extend ActiveSupport::Concern
3
+
4
+ def apply_scopes(target, scopie: nil, hash: params)
5
+ scopie ||= find_scopie_class.new(self)
6
+ Scopie.apply_scopes(target, hash, method: hash[:action], scopie: scopie)
7
+ end
8
+
9
+ included do
10
+ class_attribute :scopie_class
11
+
12
+ def self.find_scopie_class(class_name = nil)
13
+ return scopie_class if scopie_class
14
+
15
+ class_name ||= name
16
+
17
+ ary = class_name.split(ScopieRails::CLASS_NAME_DELIMETER)
18
+ controller_class_name = ary.pop
19
+ base_class_name = controller_class_name.split(ScopieRails::CONTROLLER_DELIMETER).first
20
+ ary << ScopieRails::SCOPIE_PREFIX
21
+ ary << base_class_name + ScopieRails::SCOPIE_SUFFIX
22
+ scopie_class = ary.join(ScopieRails::CLASS_NAME_DELIMETER).constantize
23
+
24
+ scopie_class
25
+ end
26
+
27
+ delegate :find_scopie_class, to: :class
28
+ end
29
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ScopieRails
2
- VERSION = '0.1.0'
3
+ VERSION = '0.2.0'
3
4
  end
data/lib/scopie_rails.rb CHANGED
@@ -1,3 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'scopie'
4
+ require 'active_support/concern'
5
+ require 'active_support/core_ext/class/attribute'
6
+ require 'active_support/core_ext/module/delegation'
7
+ require 'active_support/core_ext/string/inflections'
8
+
1
9
  module ScopieRails
2
- # Your code goes here...
10
+
11
+ SCOPIE_PREFIX = 'Scopies'.freeze
12
+ SCOPIE_SUFFIX = 'Scopie'.freeze
13
+ CLASS_NAME_DELIMETER = '::'.freeze
14
+ CONTROLLER_DELIMETER = 'Controller'.freeze
15
+
16
+ require 'scopie_rails/base'
17
+ require 'scopie_rails/controller'
18
+
3
19
  end
metadata CHANGED
@@ -1,18 +1,126 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scopie_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yury Kotov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-19 00:00:00.000000000 Z
12
- dependencies: []
13
- description: |-
14
- scopie provides integration between
15
- scopie and rails
11
+ date: 2016-06-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: scopie
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: actionpack
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '4.1'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '5.1'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '4.1'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '5.1'
47
+ - !ruby/object:Gem::Dependency
48
+ name: activesupport
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '4.1'
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: '5.1'
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '4.1'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: '5.1'
67
+ - !ruby/object:Gem::Dependency
68
+ name: rspec
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '3.4'
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '3.4'
81
+ - !ruby/object:Gem::Dependency
82
+ name: rubocop
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '0.40'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '0.40'
95
+ - !ruby/object:Gem::Dependency
96
+ name: rake
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '11'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '11'
109
+ - !ruby/object:Gem::Dependency
110
+ name: pry
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ description: scopie_rails provides integration between scopie and rails
16
124
  email:
17
125
  - non.gi.suong@ya.ru
18
126
  executables: []
@@ -22,6 +130,8 @@ files:
22
130
  - LICENSE
23
131
  - README.md
24
132
  - lib/scopie_rails.rb
133
+ - lib/scopie_rails/base.rb
134
+ - lib/scopie_rails/controller.rb
25
135
  - lib/scopie_rails/version.rb
26
136
  homepage: https://github.com/beorc/scopie_rails
27
137
  licenses: