rails-patterns 0.5.0 → 0.6.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: a0004234c0698b57bbf9960c6431427a1f548df9
4
- data.tar.gz: 9891b7eba903e69d516153c5664b9cf0e04c7f90
3
+ metadata.gz: 0a30afb3f25ef523a75a54887fc9ff48f7567ac8
4
+ data.tar.gz: b3d71af078c2287b6c1f6e16bc140d267879b49b
5
5
  SHA512:
6
- metadata.gz: 8aa0d32fc28cb5924dab59cc9a9d088e940cb7d11e19058f7d7bd5fdc25084554655ee48b9ce1e5938e21b5a70358b78a2d4aa0a98ee455b44d6502e6f2eb615
7
- data.tar.gz: 3bcec212d6958aeed3e29ff72ffeca10d0dbe726b1376aa42585f171464f726ac36950db8b49c8a9bfc8eaad98c47458b48a4a01c613905f138759a89c243d61
6
+ metadata.gz: 2bb36981deb575dd7e900bb41c14d89e230c60ea67896b87643ed332923cf13b32880599111c672d0591f01836fc81d2e87381337ec100d304fdf726e93f67ac
7
+ data.tar.gz: debed57e679b131544e8b7c76f95944f0128570f71f3959187fbce79081a2848a9c2e8cfdbc257855df15f3d80b2c717c94d958428d0d23ad472825e1bf23d92
@@ -1,59 +1,61 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- actionpack (5.0.2)
5
- actionview (= 5.0.2)
6
- activesupport (= 5.0.2)
4
+ actionpack (5.1.4)
5
+ actionview (= 5.1.4)
6
+ activesupport (= 5.1.4)
7
7
  rack (~> 2.0)
8
- rack-test (~> 0.6.3)
8
+ rack-test (>= 0.6.3)
9
9
  rails-dom-testing (~> 2.0)
10
10
  rails-html-sanitizer (~> 1.0, >= 1.0.2)
11
- actionview (5.0.2)
12
- activesupport (= 5.0.2)
11
+ actionview (5.1.4)
12
+ activesupport (= 5.1.4)
13
13
  builder (~> 3.1)
14
- erubis (~> 2.7.0)
14
+ erubi (~> 1.4)
15
15
  rails-dom-testing (~> 2.0)
16
16
  rails-html-sanitizer (~> 1.0, >= 1.0.3)
17
- activemodel (5.0.2)
18
- activesupport (= 5.0.2)
19
- activerecord (5.0.2)
20
- activemodel (= 5.0.2)
21
- activesupport (= 5.0.2)
22
- arel (~> 7.0)
23
- activesupport (5.0.2)
17
+ activemodel (5.1.4)
18
+ activesupport (= 5.1.4)
19
+ activerecord (5.1.4)
20
+ activemodel (= 5.1.4)
21
+ activesupport (= 5.1.4)
22
+ arel (~> 8.0)
23
+ activesupport (5.1.4)
24
24
  concurrent-ruby (~> 1.0, >= 1.0.2)
25
25
  i18n (~> 0.7)
26
26
  minitest (~> 5.1)
27
27
  tzinfo (~> 1.1)
28
- addressable (2.4.0)
29
- arel (7.1.4)
28
+ addressable (2.5.2)
29
+ public_suffix (>= 2.0.2, < 4.0)
30
+ arel (8.0.0)
30
31
  axiom-types (0.1.1)
31
32
  descendants_tracker (~> 0.0.4)
32
33
  ice_nine (~> 0.11.0)
33
34
  thread_safe (~> 0.3, >= 0.3.1)
34
35
  builder (3.2.3)
35
- coderay (1.1.1)
36
+ coderay (1.1.2)
36
37
  coercible (1.0.0)
37
38
  descendants_tracker (~> 0.0.1)
38
39
  concurrent-ruby (1.0.5)
40
+ crass (1.0.3)
39
41
  descendants_tracker (0.0.4)
40
42
  thread_safe (~> 0.3, >= 0.3.1)
41
43
  diff-lcs (1.3)
42
44
  equalizer (0.0.11)
43
- erubis (2.7.0)
44
- faraday (0.9.2)
45
+ erubi (1.7.0)
46
+ faraday (0.12.2)
45
47
  multipart-post (>= 1.2, < 3)
46
48
  git (1.3.0)
47
- github_api (0.16.0)
48
- addressable (~> 2.4.0)
49
+ github_api (0.18.2)
50
+ addressable (~> 2.4)
49
51
  descendants_tracker (~> 0.0.4)
50
- faraday (~> 0.8, < 0.10)
51
- hashie (>= 3.4)
52
- mime-types (>= 1.16, < 3.0)
52
+ faraday (~> 0.8)
53
+ hashie (~> 3.5, >= 3.5.2)
53
54
  oauth2 (~> 1.0)
54
- hashie (3.5.5)
55
- highline (1.7.8)
56
- i18n (0.8.1)
55
+ hashie (3.5.7)
56
+ highline (1.7.10)
57
+ i18n (0.9.1)
58
+ concurrent-ruby (~> 1.0)
57
59
  ice_nine (0.11.2)
58
60
  juwelier (2.1.3)
59
61
  builder
@@ -66,56 +68,55 @@ GEM
66
68
  rdoc
67
69
  semver
68
70
  jwt (1.5.6)
69
- loofah (2.0.3)
71
+ loofah (2.1.1)
72
+ crass (~> 1.0.2)
70
73
  nokogiri (>= 1.5.9)
71
- method_source (0.8.2)
72
- mime-types (2.99.3)
73
- mini_portile2 (2.1.0)
74
- minitest (5.10.1)
75
- multi_json (1.12.1)
74
+ method_source (0.9.0)
75
+ mini_portile2 (2.3.0)
76
+ minitest (5.11.1)
77
+ multi_json (1.13.1)
76
78
  multi_xml (0.6.0)
77
79
  multipart-post (2.0.0)
78
- nokogiri (1.7.1)
79
- mini_portile2 (~> 2.1.0)
80
- oauth2 (1.3.1)
81
- faraday (>= 0.8, < 0.12)
80
+ nokogiri (1.8.1)
81
+ mini_portile2 (~> 2.3.0)
82
+ oauth2 (1.4.0)
83
+ faraday (>= 0.8, < 0.13)
82
84
  jwt (~> 1.0)
83
85
  multi_json (~> 1.3)
84
86
  multi_xml (~> 0.5)
85
87
  rack (>= 1.2, < 3)
86
- pry (0.10.4)
88
+ pry (0.11.3)
87
89
  coderay (~> 1.1.0)
88
- method_source (~> 0.8.1)
89
- slop (~> 3.4)
90
+ method_source (~> 0.9.0)
90
91
  pry-rails (0.3.6)
91
92
  pry (>= 0.10.4)
92
- rack (2.0.1)
93
- rack-test (0.6.3)
94
- rack (>= 1.0)
95
- rails-dom-testing (2.0.2)
96
- activesupport (>= 4.2.0, < 6.0)
97
- nokogiri (~> 1.6)
93
+ public_suffix (3.0.1)
94
+ rack (2.0.3)
95
+ rack-test (0.8.2)
96
+ rack (>= 1.0, < 3)
97
+ rails-dom-testing (2.0.3)
98
+ activesupport (>= 4.2.0)
99
+ nokogiri (>= 1.6)
98
100
  rails-html-sanitizer (1.0.3)
99
101
  loofah (~> 2.0)
100
- rake (12.0.0)
101
- rdoc (5.1.0)
102
- rspec (3.5.0)
103
- rspec-core (~> 3.5.0)
104
- rspec-expectations (~> 3.5.0)
105
- rspec-mocks (~> 3.5.0)
106
- rspec-core (3.5.4)
107
- rspec-support (~> 3.5.0)
108
- rspec-expectations (3.5.0)
102
+ rake (12.3.0)
103
+ rdoc (6.0.1)
104
+ rspec (3.7.0)
105
+ rspec-core (~> 3.7.0)
106
+ rspec-expectations (~> 3.7.0)
107
+ rspec-mocks (~> 3.7.0)
108
+ rspec-core (3.7.1)
109
+ rspec-support (~> 3.7.0)
110
+ rspec-expectations (3.7.0)
109
111
  diff-lcs (>= 1.2.0, < 2.0)
110
- rspec-support (~> 3.5.0)
111
- rspec-mocks (3.5.0)
112
+ rspec-support (~> 3.7.0)
113
+ rspec-mocks (3.7.0)
112
114
  diff-lcs (>= 1.2.0, < 2.0)
113
- rspec-support (~> 3.5.0)
114
- rspec-support (3.5.0)
115
+ rspec-support (~> 3.7.0)
116
+ rspec-support (3.7.0)
115
117
  semver (1.0.1)
116
- slop (3.6.0)
117
118
  thread_safe (0.3.6)
118
- tzinfo (1.2.3)
119
+ tzinfo (1.2.4)
119
120
  thread_safe (~> 0.1)
120
121
  virtus (1.0.5)
121
122
  axiom-types (~> 0.1)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.0
1
+ 0.6.0
@@ -6,17 +6,17 @@ module Patterns
6
6
 
7
7
  def initialize(*args)
8
8
  @options = args.extract_options!
9
- @relation = args.first || self.class.base_relation
9
+ @relation = args.first || base_relation
10
10
 
11
11
  if relation.nil?
12
12
  raise(
13
- RelationRequired,
14
- "Queries require a base relation defined. Use .queries method to define relation."
13
+ RelationRequired,
14
+ "Queries require a base relation defined. Use .queries method to define relation."
15
15
  )
16
16
  elsif !relation.is_a?(ActiveRecord::Relation)
17
17
  raise(
18
- RelationRequired,
19
- "Queries accept only ActiveRecord::Relation as input"
18
+ RelationRequired,
19
+ "Queries accept only ActiveRecord::Relation as input"
20
20
  )
21
21
  end
22
22
  end
@@ -29,20 +29,25 @@ module Patterns
29
29
  query.tap do |relation|
30
30
  unless relation.is_a?(ActiveRecord::Relation)
31
31
  raise(
32
- RelationRequired,
33
- "#query method should return object of ActiveRecord::Relation class"
32
+ RelationRequired,
33
+ "#query method should return object of ActiveRecord::Relation class"
34
34
  )
35
35
  end
36
36
  end
37
37
  end
38
38
 
39
39
  def self.queries(subject)
40
- self.base_relation =
41
- if subject.is_a?(ActiveRecord::Relation)
42
- subject
43
- elsif subject < ActiveRecord::Base
44
- subject.all
45
- end
40
+ self.base_relation = subject
41
+ end
42
+
43
+ def base_relation
44
+ return nil if self.class.base_relation.nil?
45
+
46
+ if self.class.base_relation.is_a?(ActiveRecord::Relation)
47
+ self.class.base_relation
48
+ elsif self.class.base_relation < ActiveRecord::Base
49
+ self.class.base_relation.all
50
+ end
46
51
  end
47
52
 
48
53
  private
@@ -55,8 +60,8 @@ module Patterns
55
60
 
56
61
  def query
57
62
  raise(
58
- NotImplementedError,
59
- "You need to implement #query method which returns ActiveRecord::Relation object"
63
+ NotImplementedError,
64
+ "You need to implement #query method which returns ActiveRecord::Relation object"
60
65
  )
61
66
  end
62
67
  end
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: rails-patterns 0.5.0 ruby lib
5
+ # stub: rails-patterns 0.6.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "rails-patterns".freeze
9
- s.version = "0.5.0"
9
+ s.version = "0.6.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Stevo".freeze]
14
- s.date = "2017-06-22"
14
+ s.date = "2018-01-18"
15
15
  s.description = "A collection of lightweight, standardized, rails-oriented patterns.".freeze
16
16
  s.email = "b.kosmowski@selleo.com".freeze
17
17
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-patterns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stevo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-22 00:00:00.000000000 Z
11
+ date: 2018-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord