everywhere 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -11,7 +11,13 @@ Hash condition syntax for AR query everywhere!
11
11
 
12
12
  SELECT "users".* FROM "users" WHERE ("users"."name" != 'foo')
13
13
  SELECT "users".* FROM "users" WHERE ("users"."created_at" IS NOT NULL)
14
- SELECT "users".* FROM "users" WHERE ("users"."status" NOT IN ('inactive', 'deleted')
14
+ SELECT "users".* FROM "users" WHERE ("users"."status" NOT IN ('inactive', 'deleted'))
15
+
16
+ === where + like
17
+
18
+ Same for where + like.
19
+
20
+ SELECT "users".* FROM "users" WHERE ("users"."name" LIKE 'Akira%')
15
21
 
16
22
 
17
23
  == Syntaxes
@@ -40,9 +46,11 @@ Put +:not+ as the first parameter of +where+ method.
40
46
  * method
41
47
  Use the special method named +where_not+.
42
48
 
43
- User.where_not(:not, :name => 'foo')
49
+ User.where_not(:name => 'foo')
44
50
  => SELECT "users".* FROM "users" WHERE ("users"."name" != 'foo')
45
51
 
52
+ See specs for more details.
53
+
46
54
 
47
55
  == Supported versions
48
56
 
@@ -66,7 +74,7 @@ The default value is +:hash_value+.
66
74
 
67
75
  == Todo
68
76
 
69
- +like+ and +not like+ (if needed)
77
+ +not like+ (if needed)
70
78
 
71
79
 
72
80
  == Contributing to Everywhere
@@ -10,9 +10,9 @@ module ActiveRecord
10
10
  attributes_with_not = {}
11
11
  attributes.each do |column, value|
12
12
  # {not: {key: value}}
13
- if column == :not
13
+ if column.in?([:not, :like])
14
14
  value.each do |k, v|
15
- attributes_with_not["#{k}__not__"] = v
15
+ attributes_with_not["#{k}__#{column}__"] = v
16
16
  end
17
17
  else
18
18
  attributes_with_not[column] = value
@@ -22,6 +22,9 @@ module ActiveRecord
22
22
  if rel.left.name.to_s.ends_with? '__not__'
23
23
  rel.left.name = rel.left.name.to_s.sub(/__not__$/, '').to_sym
24
24
  negate rel
25
+ elsif rel.left.name.to_s.ends_with? '__like__'
26
+ rel.left.name = rel.left.name.to_s.sub(/__like__$/, '').to_sym
27
+ Arel::Nodes::Matches.new rel.left, rel.right
25
28
  else
26
29
  rel
27
30
  end
@@ -36,9 +39,9 @@ module ActiveRecord
36
39
  attributes_with_not = {}
37
40
  attributes.each do |column, value|
38
41
  # {not: {key: value}}
39
- if column == :not
42
+ if (column == :not) || (column == :like)
40
43
  value.each do |k, v|
41
- attributes_with_not["#{k}__not__"] = v
44
+ attributes_with_not["#{k}__#{column}__"] = v
42
45
  end
43
46
  else
44
47
  attributes_with_not[column] = value
@@ -48,6 +51,9 @@ module ActiveRecord
48
51
  if rel.left.name.to_s.ends_with? '__not__'
49
52
  rel.left.name = rel.left.name.to_s.sub(/__not__$/, '').to_sym
50
53
  negate rel
54
+ elsif rel.left.name.to_s.ends_with? '__like__'
55
+ rel.left.name = rel.left.name.to_s.sub(/__like__$/, '').to_sym
56
+ Arel::Nodes::Matches.new rel.left, rel.right
51
57
  else
52
58
  rel
53
59
  end
@@ -9,16 +9,19 @@ module ActiveRecord
9
9
  def build_from_hash_with_not(engine, attributes, default_table)
10
10
  attributes_with_not = attributes.map do |column, value|
11
11
  # {key: {not: value}}
12
- if value.is_a?(Hash) && (value.keys.size == 1) && (value.keys.first == :not)
13
- ["#{column}__not__", value.values.first]
12
+ if value.is_a?(Hash) && (value.keys.size == 1) && value.keys.first.in?([:not, :like])
13
+ ["#{column}__#{value.keys.first}__", value.values.first]
14
14
  else
15
15
  [column, value]
16
16
  end
17
17
  end
18
18
  build_from_hash_without_not(engine, attributes_with_not, default_table).map do |rel|
19
- if rel.left.name.to_s.ends_with? '__not__'
19
+ if rel.left.name.to_s.ends_with?('__not__')
20
20
  rel.left.name = rel.left.name.to_s.sub(/__not__$/, '').to_sym
21
21
  negate rel
22
+ elsif rel.left.name.to_s.ends_with?('__like__')
23
+ rel.left.name = rel.left.name.to_s.sub(/__like__$/, '').to_sym
24
+ Arel::Nodes::Matches.new rel.left, rel.right
22
25
  else
23
26
  rel
24
27
  end
@@ -32,16 +35,19 @@ module ActiveRecord
32
35
  def build_from_hash_with_not(attributes, default_table)
33
36
  attributes_with_not = attributes.map do |column, value|
34
37
  # {key: {not: value}}
35
- if value.is_a?(Hash) && (value.keys.size == 1) && (value.keys.first == :not)
36
- ["#{column}__not__", value.values.first]
38
+ if value.is_a?(Hash) && (value.keys.size == 1) && ((value.keys.first == :not) || (value.keys.first == :like))
39
+ ["#{column}__#{value.keys.first}__", value.values.first]
37
40
  else
38
41
  [column, value]
39
42
  end
40
43
  end
41
44
  build_from_hash_without_not(attributes_with_not, default_table).map do |rel|
42
- if rel.left.name.to_s.ends_with? '__not__'
45
+ if rel.left.name.to_s.ends_with?('__not__')
43
46
  rel.left.name = rel.left.name.to_s.sub(/__not__$/, '').to_sym
44
47
  negate rel
48
+ elsif rel.left.name.to_s.ends_with?('__like__')
49
+ rel.left.name = rel.left.name.to_s.sub(/__like__$/, '').to_sym
50
+ Arel::Nodes::Matches.new rel.left, rel.right
45
51
  else
46
52
  rel
47
53
  end
@@ -3,7 +3,7 @@ require 'everywhere/util'
3
3
  module ActiveRecord
4
4
  class Base
5
5
  class << self
6
- delegate :where_not, :to => :scoped
6
+ delegate :where_not, :where_like, :to => :scoped
7
7
  end
8
8
  end
9
9
 
@@ -17,5 +17,13 @@ module ActiveRecord
17
17
  relation.where_values += build_where(opts, rest).map {|r| negate r}
18
18
  relation
19
19
  end
20
+
21
+ def where_like(opts, *rest)
22
+ return self if opts.blank?
23
+
24
+ relation = clone
25
+ relation.where_values += build_where(opts, rest).map {|r| Arel::Nodes::Matches.new r.left, r.right}
26
+ relation
27
+ end
20
28
  end
21
29
  end
@@ -5,8 +5,11 @@ module ActiveRecord
5
5
  include Everywhere::Util
6
6
 
7
7
  def build_where_with_not(opts, other = [])
8
- if opts == :not
8
+ case opts
9
+ when :not
9
10
  build_where_without_not(*other).map {|r| negate r}
11
+ when :like
12
+ build_where_without_not(*other).map {|r| Arel::Nodes::Matches.new r.left, r.right}
10
13
  else
11
14
  build_where_without_not(opts, other)
12
15
  end
@@ -1,3 +1,3 @@
1
1
  module Everywhere
2
- VERSION = "0.0.1"
2
+ VERSION = '0.1.0'
3
3
  end
@@ -11,42 +11,56 @@ describe 'normal query' do
11
11
  its(:to_sql) { should == %q["posts"."title" = 'hello'] }
12
12
  end
13
13
 
14
- describe 'not eq' do
15
- before do
16
- @where = Post.where(:not => {:title => 'hello'}).where_values
14
+ describe 'not' do
15
+ describe 'not eq' do
16
+ before do
17
+ @where = Post.where(:not => {:title => 'hello'}).where_values
18
+ end
19
+ subject { @where }
20
+ it { @where.should have(1).item }
21
+ subject { @where.first }
22
+ its(:to_sql) { should == %q["posts"."title" != 'hello'] }
17
23
  end
18
- subject { @where }
19
- it { @where.should have(1).item }
20
- subject { @where.first }
21
- its(:to_sql) { should == %q["posts"."title" != 'hello'] }
22
- end
23
24
 
24
- describe 'not null' do
25
- before do
26
- @where = Post.where(:not => {:created_at => nil}).where_values
25
+ describe 'not null' do
26
+ before do
27
+ @where = Post.where(:not => {:created_at => nil}).where_values
28
+ end
29
+ subject { @where }
30
+ it { @where.should have(1).item }
31
+ subject { @where.first }
32
+ its(:to_sql) { should == %q["posts"."created_at" IS NOT NULL] }
27
33
  end
28
- subject { @where }
29
- it { @where.should have(1).item }
30
- subject { @where.first }
31
- its(:to_sql) { should == %q["posts"."created_at" IS NOT NULL] }
32
- end
33
34
 
34
- describe 'not in' do
35
- before do
36
- @where = Post.where(:not => {:title => %w[hello goodbye]}).where_values
35
+ describe 'not in' do
36
+ before do
37
+ @where = Post.where(:not => {:title => %w[hello goodbye]}).where_values
38
+ end
39
+ subject { @where }
40
+ it { @where.should have(1).item }
41
+ subject { @where.first }
42
+ its(:to_sql) { should == %q["posts"."title" NOT IN ('hello', 'goodbye')] }
43
+ end
44
+
45
+ describe 'association' do
46
+ before do
47
+ @where = Post.joins(:comments).where(:comments => {:not => {:body => 'foo'}}).where_values
48
+ end
49
+ subject { @where }
50
+ it { @where.should have(1).item }
51
+ subject { @where.first }
52
+ its(:to_sql) { should == %q["comments"."body" != 'foo'] }
37
53
  end
38
- subject { @where }
39
- it { @where.should have(1).item }
40
- subject { @where.first }
41
- its(:to_sql) { should == %q["posts"."title" NOT IN ('hello', 'goodbye')] }
42
54
  end
43
55
 
44
- describe 'association' do
45
- before do
46
- @where = Post.joins(:comments).where(:comments => {:not => {:body => 'foo'}}).where_values
56
+ describe 'like' do
57
+ describe 'like match' do
58
+ before do
59
+ @where = Post.where(:like => {:title => 'he%'}).where_values
60
+ end
61
+ subject { @where }
62
+ it { @where.should have(1).item }
63
+ subject { @where.first }
64
+ its(:to_sql) { should == %q["posts"."title" LIKE 'he%'] }
47
65
  end
48
- subject { @where }
49
- it { @where.should have(1).item }
50
- subject { @where.first }
51
- its(:to_sql) { should == %q["comments"."body" != 'foo'] }
52
66
  end
@@ -11,42 +11,56 @@ describe 'normal query' do
11
11
  its(:to_sql) { should == %q["posts"."title" = 'hello'] }
12
12
  end
13
13
 
14
- describe 'not eq' do
15
- before do
16
- @where = Post.where(:title => {:not => 'hello'}).where_values
14
+ describe 'not' do
15
+ describe 'not eq' do
16
+ before do
17
+ @where = Post.where(:title => {:not => 'hello'}).where_values
18
+ end
19
+ subject { @where }
20
+ it { @where.should have(1).item }
21
+ subject { @where.first }
22
+ its(:to_sql) { should == %q["posts"."title" != 'hello'] }
17
23
  end
18
- subject { @where }
19
- it { @where.should have(1).item }
20
- subject { @where.first }
21
- its(:to_sql) { should == %q["posts"."title" != 'hello'] }
22
- end
23
24
 
24
- describe 'not null' do
25
- before do
26
- @where = Post.where(:created_at => {:not => nil}).where_values
25
+ describe 'not null' do
26
+ before do
27
+ @where = Post.where(:created_at => {:not => nil}).where_values
28
+ end
29
+ subject { @where }
30
+ it { @where.should have(1).item }
31
+ subject { @where.first }
32
+ its(:to_sql) { should == %q["posts"."created_at" IS NOT NULL] }
27
33
  end
28
- subject { @where }
29
- it { @where.should have(1).item }
30
- subject { @where.first }
31
- its(:to_sql) { should == %q["posts"."created_at" IS NOT NULL] }
32
- end
33
34
 
34
- describe 'not in' do
35
- before do
36
- @where = Post.where(:title => {:not => %w[hello goodbye]}).where_values
35
+ describe 'not in' do
36
+ before do
37
+ @where = Post.where(:title => {:not => %w[hello goodbye]}).where_values
38
+ end
39
+ subject { @where }
40
+ it { @where.should have(1).item }
41
+ subject { @where.first }
42
+ its(:to_sql) { should == %q["posts"."title" NOT IN ('hello', 'goodbye')] }
43
+ end
44
+
45
+ describe 'association' do
46
+ before do
47
+ @where = Post.joins(:comments).where(:comments => {:body => {:not => 'foo'}}).where_values
48
+ end
49
+ subject { @where }
50
+ it { @where.should have(1).item }
51
+ subject { @where.first }
52
+ its(:to_sql) { should == %q["comments"."body" != 'foo'] }
37
53
  end
38
- subject { @where }
39
- it { @where.should have(1).item }
40
- subject { @where.first }
41
- its(:to_sql) { should == %q["posts"."title" NOT IN ('hello', 'goodbye')] }
42
54
  end
43
55
 
44
- describe 'association' do
45
- before do
46
- @where = Post.joins(:comments).where(:comments => {:body => {:not => 'foo'}}).where_values
56
+ describe 'like' do
57
+ describe 'like match' do
58
+ before do
59
+ @where = Post.where(:title => {:like => 'he%'}).where_values
60
+ end
61
+ subject { @where }
62
+ it { @where.should have(1).item }
63
+ subject { @where.first }
64
+ its(:to_sql) { should == %q["posts"."title" LIKE 'he%'] }
47
65
  end
48
- subject { @where }
49
- it { @where.should have(1).item }
50
- subject { @where.first }
51
- its(:to_sql) { should == %q["comments"."body" != 'foo'] }
52
66
  end
data/spec/method_spec.rb CHANGED
@@ -11,42 +11,56 @@ describe 'normal query' do
11
11
  its(:to_sql) { should == %q["posts"."name" = 'hello'] }
12
12
  end
13
13
 
14
- describe 'not eq' do
15
- before do
16
- @where = Post.where_not(:name => 'hello').where_values
14
+ describe 'not' do
15
+ describe 'not eq' do
16
+ before do
17
+ @where = Post.where_not(:name => 'hello').where_values
18
+ end
19
+ subject { @where }
20
+ it { @where.should have(1).item }
21
+ subject { @where.first }
22
+ its(:to_sql) { should == %q["posts"."name" != 'hello'] }
17
23
  end
18
- subject { @where }
19
- it { @where.should have(1).item }
20
- subject { @where.first }
21
- its(:to_sql) { should == %q["posts"."name" != 'hello'] }
22
- end
23
24
 
24
- describe 'not null' do
25
- before do
26
- @where = Post.where_not(:created_at => nil).where_values
25
+ describe 'not null' do
26
+ before do
27
+ @where = Post.where_not(:created_at => nil).where_values
28
+ end
29
+ subject { @where }
30
+ it { @where.should have(1).item }
31
+ subject { @where.first }
32
+ its(:to_sql) { should == %q["posts"."created_at" IS NOT NULL] }
27
33
  end
28
- subject { @where }
29
- it { @where.should have(1).item }
30
- subject { @where.first }
31
- its(:to_sql) { should == %q["posts"."created_at" IS NOT NULL] }
32
- end
33
34
 
34
- describe 'not in' do
35
- before do
36
- @where = Post.where_not(:name => %w[hello goodbye]).where_values
35
+ describe 'not in' do
36
+ before do
37
+ @where = Post.where_not(:name => %w[hello goodbye]).where_values
38
+ end
39
+ subject { @where }
40
+ it { @where.should have(1).item }
41
+ subject { @where.first }
42
+ its(:to_sql) { should == %q["posts"."name" NOT IN ('hello', 'goodbye')] }
43
+ end
44
+
45
+ describe 'association' do
46
+ before do
47
+ @where = Post.joins(:comments).where_not(:comments => {:body => 'foo'}).where_values
48
+ end
49
+ subject { @where }
50
+ it { @where.should have(1).item }
51
+ subject { @where.first }
52
+ its(:to_sql) { should == %q["comments"."body" != 'foo'] }
37
53
  end
38
- subject { @where }
39
- it { @where.should have(1).item }
40
- subject { @where.first }
41
- its(:to_sql) { should == %q["posts"."name" NOT IN ('hello', 'goodbye')] }
42
54
  end
43
55
 
44
- describe 'association' do
45
- before do
46
- @where = Post.joins(:comments).where_not(:comments => {:body => 'foo'}).where_values
56
+ describe 'like' do
57
+ describe 'like match' do
58
+ before do
59
+ @where = Post.where_like(:title => 'he%').where_values
60
+ end
61
+ subject { @where }
62
+ it { @where.should have(1).item }
63
+ subject { @where.first }
64
+ its(:to_sql) { should == %q["posts"."title" LIKE 'he%'] }
47
65
  end
48
- subject { @where }
49
- it { @where.should have(1).item }
50
- subject { @where.first }
51
- its(:to_sql) { should == %q["comments"."body" != 'foo'] }
52
66
  end
data/spec/symbol_spec.rb CHANGED
@@ -11,42 +11,56 @@ describe 'normal query' do
11
11
  its(:to_sql) { should == %q["posts"."name" = 'hello'] }
12
12
  end
13
13
 
14
- describe 'not eq' do
15
- before do
16
- @where = Post.where(:not, :name => 'hello').where_values
14
+ describe 'not' do
15
+ describe 'not eq' do
16
+ before do
17
+ @where = Post.where(:not, :name => 'hello').where_values
18
+ end
19
+ subject { @where }
20
+ it { @where.should have(1).item }
21
+ subject { @where.first }
22
+ its(:to_sql) { should == %q["posts"."name" != 'hello'] }
17
23
  end
18
- subject { @where }
19
- it { @where.should have(1).item }
20
- subject { @where.first }
21
- its(:to_sql) { should == %q["posts"."name" != 'hello'] }
22
- end
23
24
 
24
- describe 'not null' do
25
- before do
26
- @where = Post.where(:not, :created_at => nil).where_values
25
+ describe 'not null' do
26
+ before do
27
+ @where = Post.where(:not, :created_at => nil).where_values
28
+ end
29
+ subject { @where }
30
+ it { @where.should have(1).item }
31
+ subject { @where.first }
32
+ its(:to_sql) { should == %q["posts"."created_at" IS NOT NULL] }
27
33
  end
28
- subject { @where }
29
- it { @where.should have(1).item }
30
- subject { @where.first }
31
- its(:to_sql) { should == %q["posts"."created_at" IS NOT NULL] }
32
- end
33
34
 
34
- describe 'not in' do
35
- before do
36
- @where = Post.where(:not, :name => %w[hello goodbye]).where_values
35
+ describe 'not in' do
36
+ before do
37
+ @where = Post.where(:not, :name => %w[hello goodbye]).where_values
38
+ end
39
+ subject { @where }
40
+ it { @where.should have(1).item }
41
+ subject { @where.first }
42
+ its(:to_sql) { should == %q["posts"."name" NOT IN ('hello', 'goodbye')] }
43
+ end
44
+
45
+ describe 'association' do
46
+ before do
47
+ @where = Post.joins(:comments).where(:not, :comments => {:body => 'foo'}).where_values
48
+ end
49
+ subject { @where }
50
+ it { @where.should have(1).item }
51
+ subject { @where.first }
52
+ its(:to_sql) { should == %q["comments"."body" != 'foo'] }
37
53
  end
38
- subject { @where }
39
- it { @where.should have(1).item }
40
- subject { @where.first }
41
- its(:to_sql) { should == %q["posts"."name" NOT IN ('hello', 'goodbye')] }
42
54
  end
43
55
 
44
- describe 'association' do
45
- before do
46
- @where = Post.joins(:comments).where(:not, :comments => {:body => 'foo'}).where_values
56
+ describe 'like' do
57
+ describe 'like match' do
58
+ before do
59
+ @where = Post.where(:like, :title => 'he%').where_values
60
+ end
61
+ subject { @where }
62
+ it { @where.should have(1).item }
63
+ subject { @where.first }
64
+ its(:to_sql) { should == %q["posts"."title" LIKE 'he%'] }
47
65
  end
48
- subject { @where }
49
- it { @where.should have(1).item }
50
- subject { @where.first }
51
- its(:to_sql) { should == %q["comments"."body" != 'foo'] }
52
66
  end
metadata CHANGED
@@ -1,74 +1,56 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: everywhere
3
- version: !ruby/object:Gem::Version
4
- hash: 29
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 1
10
- version: 0.0.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Akira Matsuda
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-11-24 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2011-11-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rspec
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70251485850240 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :development
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: sqlite3
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70251485850240
25
+ - !ruby/object:Gem::Dependency
26
+ name: sqlite3
27
+ requirement: &70251485849520 !ruby/object:Gem::Requirement
38
28
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
46
33
  type: :development
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: activerecord
50
34
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70251485849520
36
+ - !ruby/object:Gem::Dependency
37
+ name: activerecord
38
+ requirement: &70251485868380 !ruby/object:Gem::Requirement
52
39
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
60
44
  type: :runtime
61
- version_requirements: *id003
45
+ prerelease: false
46
+ version_requirements: *70251485868380
62
47
  description: Hash condition syntax for AR query everywhere!
63
- email:
48
+ email:
64
49
  - ronnie@dio.jp
65
50
  executables: []
66
-
67
51
  extensions: []
68
-
69
52
  extra_rdoc_files: []
70
-
71
- files:
53
+ files:
72
54
  - .gitignore
73
55
  - .rspec
74
56
  - Gemfile
@@ -89,43 +71,33 @@ files:
89
71
  - spec/method_spec.rb
90
72
  - spec/spec_helper.rb
91
73
  - spec/symbol_spec.rb
92
- homepage: ""
74
+ homepage: ''
93
75
  licenses: []
94
-
95
76
  post_install_message:
96
77
  rdoc_options: []
97
-
98
- require_paths:
78
+ require_paths:
99
79
  - lib
100
- required_ruby_version: !ruby/object:Gem::Requirement
80
+ required_ruby_version: !ruby/object:Gem::Requirement
101
81
  none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 3
106
- segments:
107
- - 0
108
- version: "0"
109
- required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
110
87
  none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- hash: 3
115
- segments:
116
- - 0
117
- version: "0"
88
+ requirements:
89
+ - - ! '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
118
92
  requirements: []
119
-
120
93
  rubyforge_project: everywhere
121
- rubygems_version: 1.8.11
94
+ rubygems_version: 1.8.10
122
95
  signing_key:
123
96
  specification_version: 3
124
97
  summary: Hash condition syntax for AR query everywhere!
125
- test_files:
98
+ test_files:
126
99
  - spec/hash_key_spec.rb
127
100
  - spec/hash_value_spec.rb
128
101
  - spec/method_spec.rb
129
102
  - spec/spec_helper.rb
130
103
  - spec/symbol_spec.rb
131
- has_rdoc: