CloudSesame 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: bdd6130e69369b19a8af9084c9fafeb23da57e10
4
- data.tar.gz: 383e48e735e7ee99f3bc3ee31b550fa7603186dd
3
+ metadata.gz: 38932c184fc0a22bb899a645b63bc7d3b1800b9f
4
+ data.tar.gz: 9bb022f324c951547374ac0dbea2e90ba20208fe
5
5
  SHA512:
6
- metadata.gz: 34a744413189cf8306b15bc968d671940e1d1258e50dec628a09273a820803224b4f6c2f3a3925ae1a2a58be34f1bda3977ea226b7d6396dc3d01ffe6c9e848f
7
- data.tar.gz: 4da503890c410bf99d4ba05452156d1f6a36fce18442d19f1024260a9b8a7243bca6416875c50c8b201add9a2d362ec59f585d62fdc56062c446e4ba0b1488b3
6
+ metadata.gz: 977d4661346efb23226ac794f5774463279c82057a7c67c1069bf2ebc1a554619d319184b0ffdb3a79395395bb1a39ecf9db0e762f6a394d99fdf434df431afa
7
+ data.tar.gz: bcd8037e3577cc9d65b0bf276da30c658aaeab233b9b224e3aa9011493541b1178eba3503893ce5265d033ecdf06e3302850e7730f6359c371abcbfb6ebf9d8d
data/Gemfile.lock CHANGED
@@ -1,18 +1,25 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- CloudSesame (0.4.2)
4
+ CloudSesame (0.4.3)
5
+ activesupport
5
6
  aws-sdk (~> 2)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
9
10
  specs:
10
- aws-sdk (2.2.12)
11
- aws-sdk-resources (= 2.2.12)
12
- aws-sdk-core (2.2.12)
11
+ activesupport (4.2.5)
12
+ i18n (~> 0.7)
13
+ json (~> 1.7, >= 1.7.7)
14
+ minitest (~> 5.1)
15
+ thread_safe (~> 0.3, >= 0.3.4)
16
+ tzinfo (~> 1.1)
17
+ aws-sdk (2.2.13)
18
+ aws-sdk-resources (= 2.2.13)
19
+ aws-sdk-core (2.2.13)
13
20
  jmespath (~> 1.0)
14
- aws-sdk-resources (2.2.12)
15
- aws-sdk-core (= 2.2.12)
21
+ aws-sdk-resources (2.2.13)
22
+ aws-sdk-core (= 2.2.13)
16
23
  coderay (1.1.0)
17
24
  diff-lcs (1.2.5)
18
25
  ffi (1.9.10)
@@ -31,12 +38,15 @@ GEM
31
38
  guard (~> 2.1)
32
39
  guard-compat (~> 1.1)
33
40
  rspec (>= 2.99.0, < 4.0)
41
+ i18n (0.7.0)
34
42
  jmespath (1.1.3)
43
+ json (1.8.3)
35
44
  listen (3.0.5)
36
45
  rb-fsevent (>= 0.9.3)
37
46
  rb-inotify (>= 0.9)
38
47
  lumberjack (1.0.10)
39
48
  method_source (0.8.2)
49
+ minitest (5.8.4)
40
50
  nenv (0.2.0)
41
51
  notiffany (0.0.8)
42
52
  nenv (~> 0.1)
@@ -65,6 +75,9 @@ GEM
65
75
  shellany (0.0.1)
66
76
  slop (3.6.0)
67
77
  thor (0.19.1)
78
+ thread_safe (0.3.5)
79
+ tzinfo (1.2.2)
80
+ thread_safe (~> 0.1)
68
81
 
69
82
  PLATFORMS
70
83
  ruby
@@ -76,3 +89,6 @@ DEPENDENCIES
76
89
  pry (~> 0)
77
90
  rspec (~> 3)
78
91
  ruby-prof
92
+
93
+ BUNDLED WITH
94
+ 1.11.2
data/cloud_sesame.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'CloudSesame'
3
- s.version = '0.4.2'
3
+ s.version = '0.4.3'
4
4
  s.date = '2016-01-20'
5
5
  s.summary = "AWS CloudSearch Query DSL"
6
6
  s.description = "AWS CloudSearch Query DSL"
@@ -16,7 +16,8 @@ Gem::Specification.new do |s|
16
16
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
17
17
  s.require_paths = ['lib']
18
18
 
19
- s.add_dependency('aws-sdk', '~> 2')
19
+ s.add_dependency 'aws-sdk', '~> 2'
20
+ s.add_dependency 'activesupport'
20
21
 
21
22
  s.add_development_dependency 'rspec', '~> 3'
22
23
  s.add_development_dependency 'pry', '~> 0'
data/lib/cloud_sesame.rb CHANGED
@@ -72,10 +72,10 @@ require 'cloud_sesame/query/builder'
72
72
 
73
73
  # Domain Objects
74
74
  # ===============================================
75
+ require 'cloud_sesame/context'
75
76
  require 'cloud_sesame/domain/base'
76
77
  require 'cloud_sesame/domain/client'
77
78
  require 'cloud_sesame/domain/config'
78
- require 'cloud_sesame/domain/context'
79
79
 
80
80
  # Public Interface
81
81
  # ===============================================
@@ -88,19 +88,19 @@ module CloudSesame
88
88
  module ClassMethods
89
89
 
90
90
  def cloudsearch
91
- @cloudsearch ||= CloudSesame::Domain::Base.new self
91
+ @cloudsearch ||= Domain::Base.new self
92
92
  end
93
93
 
94
94
  def define_cloudsearch(&block)
95
95
  if block_given?
96
- cloudsearch.definition = block
96
+ Domain::Base::DEFINITIONS[self] = block
97
97
  cloudsearch.instance_eval &block
98
98
  end
99
99
  end
100
100
 
101
101
  def load_definition_from(klass)
102
- if klass.respond_to?(:cloudsearch) && klass.cloudsearch.definition
103
- cloudsearch.instance_eval &klass.cloudsearch.definition
102
+ if (definition = Domain::Base::DEFINITIONS[self])
103
+ cloudsearch.instance_eval &definition
104
104
  end
105
105
  end
106
106
 
@@ -0,0 +1,34 @@
1
+ require 'active_support/core_ext/object/deep_dup'
2
+
3
+ module CloudSesame
4
+ class Context
5
+ extend Forwardable
6
+
7
+ def_delegators :table, :each,
8
+ :map,
9
+ :delete,
10
+ :select,
11
+ :include?,
12
+ :empty?
13
+
14
+ attr_reader :table
15
+
16
+ def initialize(hash = {})
17
+ @table = hash
18
+ end
19
+
20
+ def [](key, default = nil)
21
+ (result = table[key.to_sym]) ? result : default ? table[key.to_sym] = default : nil
22
+ end
23
+
24
+ def []=(key, value)
25
+ table[key.to_sym] = value
26
+ end
27
+
28
+ def duplicate(context)
29
+ @table = context.table.deep_dup
30
+ self
31
+ end
32
+
33
+ end
34
+ end
@@ -3,17 +3,18 @@ module CloudSesame
3
3
  class Base
4
4
  extend Forwardable
5
5
 
6
- attr_accessor :definition
7
6
  attr_reader :searchable, :result
8
7
 
9
8
  def_delegator :client, :config
10
9
 
10
+ DEFINITIONS = {}
11
+
11
12
  def initialize(searchable)
12
13
  @searchable = searchable
13
14
  end
14
15
 
15
16
  def builder
16
- Query::Builder.new(context, searchable)
17
+ Query::Builder.new context, searchable
17
18
  end
18
19
 
19
20
  def client
@@ -26,25 +27,25 @@ module CloudSesame
26
27
 
27
28
  # DEFAULT CONTEXT METHODS
28
29
  # =========================================
29
-
30
30
  def default_size(value)
31
- context[:page, true][:size] = value
31
+ (context[:page] ||= {})[:size] = value
32
32
  end
33
33
 
34
34
  def field(name, options = {})
35
- field_name = (options[:as] || name).to_sym
36
- define_query_options(field_name, options.delete(:query)) if options[:query]
37
- define_facet_options(field_name, options.delete(:facet)) if options[:facet]
38
- define_filter_query_field(name.to_sym, options)
35
+ field_name = (options[:as] || name)
36
+ add_query field_name, options.delete(:query)
37
+ add_facet field_name, options.delete(:facet)
38
+
39
+ add_field_expression name.to_sym, options
39
40
  end
40
41
 
41
42
  def define_sloppiness(value)
42
- context[:query, true][:sloppiness] = value.to_i
43
+ (context[:query] ||= {})[:sloppiness] = value.to_i
43
44
  end
44
45
 
45
46
  def define_fuzziness(proc = nil, &block)
46
47
  block = proc unless block_given?
47
- context[:query, true][:fuzziness] = Query::Node::Fuzziness.new(&block)
48
+ (context[:query] ||= {})[:fuzziness] = Query::Node::Fuzziness.new(&block)
48
49
  end
49
50
 
50
51
  def default_scope(proc, &block)
@@ -53,42 +54,51 @@ module CloudSesame
53
54
 
54
55
  def scope(name, proc = nil, &block)
55
56
  block = proc unless block_given?
56
- context[:filter_query, true][:scopes, true][name.to_sym] = block
57
+ ((context[:filter_query] ||= {})[:scopes] ||= {})[name.to_sym] = block
57
58
  end
58
59
 
59
60
  private
60
61
 
61
- def format_options(options)
62
+ def ensure_hash(options)
62
63
  options.is_a?(Hash) ? options : {}
63
64
  end
64
65
 
65
- def define_filter_query_field(name, options)
66
- if (as = options[:as]) && (existing_options = context[:filter_query, true][:fields, true].delete(as))
67
- options.merge!(existing_options)
68
- end
69
- if (block = options[:default])
70
- filter_query_defaults << Query::AST::Literal.new(name, nil, options, &block)
71
- end
72
- context[:filter_query, true][:fields, true][name] = options
66
+ def add_query(name, options)
67
+ ((context[:query_options] ||= {})[:fields] ||= {})[name] = ensure_hash(options) if options
68
+ end
69
+
70
+ def add_facet(name, options)
71
+ (context[:facet] ||= {})[name] = ensure_hash(options) if options
72
+ end
73
+
74
+ def add_field_expression(name, options)
75
+ overriding_field_expression name, options
76
+ create_default_field_expression name, options
77
+ create_field_expression_writer name, options
73
78
  end
74
79
 
75
- def define_query_options(name, options)
76
- context[:query_options, true][:fields, true][name] = format_options(options)
80
+ def overriding_field_expression(name, options)
81
+ fields = ((context[:filter_query] ||= {})[:fields] ||= {})
82
+ if (as = options[:as]) && (existing = fields.delete(as))
83
+ options.merge! existing
84
+ end
77
85
  end
78
86
 
79
- def define_facet_options(name, options)
80
- context[:facet, true][name] = format_options(options)
87
+ def create_default_field_expression(name, options)
88
+ if (block = options.delete(:default))
89
+ (context[:filter_query][:default] ||= []) << block
90
+ end
81
91
  end
82
92
 
83
- def filter_query_defaults
84
- context[:filter_query, true][:defaults] ||= []
93
+ def create_field_expression_writer(name, options)
94
+ (context[:filter_query][:fields] ||= {})[name] = options
95
+ Query::DSL::FieldMethods.send(:define_method, name) do |*values|
96
+ literal name, *values
97
+ end
85
98
  end
86
99
 
87
100
  def method_missing(name, *args, &block)
88
- b = builder
89
- b.send(name, *args, &block)
90
- rescue NoMethodError
91
- super
101
+ builder.send(name, *args, &block) rescue super
92
102
  end
93
103
 
94
104
  end
@@ -1,39 +1,39 @@
1
- module CloudSesame
2
- module Domain
3
- class Context
1
+ # module CloudSesame
2
+ # module Domain
3
+ # class Context
4
4
 
5
- attr_reader :table
5
+ # attr_reader :table
6
6
 
7
- def initialize(table = {})
8
- @table = table
9
- end
7
+ # def initialize(table = {})
8
+ # @table = table
9
+ # end
10
10
 
11
- def [](key, find_or_create = false)
12
- table[key] ||= default_value(find_or_create)
13
- end
11
+ # def [](key, find_or_create = false)
12
+ # table[key] ||= default_value(find_or_create)
13
+ # end
14
14
 
15
- def []=(key, value)
16
- table[key] = value
17
- end
15
+ # def []=(key, value)
16
+ # table[key] = value
17
+ # end
18
18
 
19
- def delete(key)
20
- table.delete key
21
- end
19
+ # def delete(key)
20
+ # table.delete key
21
+ # end
22
22
 
23
- def each(&block)
24
- table.each &block
25
- end
23
+ # def each(&block)
24
+ # table.each &block
25
+ # end
26
26
 
27
- def map(&block)
28
- table.map &block
29
- end
27
+ # def map(&block)
28
+ # table.map &block
29
+ # end
30
30
 
31
- private
31
+ # private
32
32
 
33
- def default_value(data)
34
- data != true ? data : Context.new if data
35
- end
33
+ # def default_value(data)
34
+ # data != true ? data : Context.new if data
35
+ # end
36
36
 
37
- end
38
- end
39
- end
37
+ # end
38
+ # end
39
+ # end
@@ -9,19 +9,24 @@ module CloudSesame
9
9
  attr_accessor :field
10
10
  attr_reader :options, :value
11
11
 
12
- def initialize(field = nil, value = nil, options = {}, &block)
12
+ def initialize(field, value, options = {}, &block)
13
13
  @field = field
14
14
  @value = Value.parse value if value
15
- @value = Value.parse ValueEvaluator.new.instance_exec &block if block_given?
16
- @options = options || {}
17
- applied[@value] = true
15
+ @value = Value.parse(ValueEvaluator.new.instance_exec &block) if block_given?
16
+
17
+ @options = options
18
+ is_included
18
19
  end
19
20
 
20
- def is_for(field, options)
21
+ def is_for(field, options = {})
21
22
  @field = field
22
23
  @options = options.merge @options
23
24
  end
24
25
 
26
+ def is_included
27
+ applied[value] = true
28
+ end
29
+
25
30
  def is_excluded
26
31
  applied[value] = applied[value] == false ? true : false
27
32
  end
@@ -9,8 +9,8 @@ module CloudSesame
9
9
 
10
10
  attr_accessor :child
11
11
 
12
- def is_for(field, field_options)
13
- child.is_for field, field_options if child
12
+ def is_for(field, options = {})
13
+ child.is_for field, options if child
14
14
  end
15
15
 
16
16
  def is_excluded
@@ -15,13 +15,13 @@ module CloudSesame
15
15
 
16
16
  attr_reader :context, :searchable, :result
17
17
 
18
- def initialize(default_context, searchable)
19
- @context = default_context
18
+ def initialize(context, searchable)
19
+ @context = Context.new.duplicate context
20
20
  @searchable = searchable
21
21
  end
22
22
 
23
23
  def request
24
- @request ||= Node::Request.new(context.dup)
24
+ @request ||= Node::Request.new context
25
25
  end
26
26
 
27
27
  def response
@@ -69,7 +69,7 @@ module CloudSesame
69
69
  end
70
70
 
71
71
  def field_options
72
- dsl_context[:fields][field]
72
+ dsl_context[:fields][field]
73
73
  end
74
74
 
75
75
  end
@@ -5,19 +5,9 @@ module CloudSesame
5
5
 
6
6
  def literal(name, *values)
7
7
  name = name.to_sym
8
- if (fields = dsl_context[:fields]) && fields[name]
9
- dsl_scope.children.field = name
10
- dsl_scope.children.dsl_return = dsl_return
11
- dsl_scope.children.insert values
12
- else
13
- false
14
- end
15
- end
16
-
17
- private
18
-
19
- def method_missing(name, *values, &block)
20
- (result = literal(name, *values)) ? result : super
8
+ dsl_scope.children.field = name
9
+ dsl_scope.children.dsl_return = dsl_return
10
+ dsl_scope.children.insert values
21
11
  end
22
12
 
23
13
  end
@@ -4,7 +4,7 @@ module CloudSesame
4
4
  class Facet < Abstract
5
5
 
6
6
  def facet
7
- @facet ||= context.table
7
+ @facet ||= context
8
8
  end
9
9
 
10
10
  def compile
@@ -7,35 +7,35 @@ module CloudSesame
7
7
  # =========================================
8
8
 
9
9
  def query
10
- @query ||= Query.new(context[:query, true])
10
+ @query ||= Query.new(context[:query] ||= {})
11
11
  end
12
12
 
13
13
  def query_options
14
- @query_options ||= QueryOptions.new(context[:query_options, true])
14
+ @query_options ||= QueryOptions.new(context[:query_options] ||= {})
15
15
  end
16
16
 
17
17
  def query_parser
18
- @query_parser ||= QueryParser.new(context[:query_parser, true])
18
+ @query_parser ||= QueryParser.new(context[:query_parser] ||= {})
19
19
  end
20
20
 
21
21
  def filter_query
22
- @filter_query ||= FilterQuery.new(context[:filter_query, true])
22
+ @filter_query ||= FilterQuery.new(context[:filter_query] ||= {})
23
23
  end
24
24
 
25
25
  def facet
26
- @facet ||= Facet.new(context[:facet, true])
26
+ @facet ||= Facet.new(context[:facet] ||= {})
27
27
  end
28
28
 
29
29
  def page
30
- @page ||= Page.new(context[:page, true])
30
+ @page ||= Page.new(context[:page] ||= {})
31
31
  end
32
32
 
33
33
  def sort
34
- @sort ||= Sort.new(context[:sort, true])
34
+ @sort ||= Sort.new(context[:sort] ||= {})
35
35
  end
36
36
 
37
37
  def return_field
38
- @return ||= Return.new(context[:return, true])
38
+ @return ||= Return.new(context[:return] ||= {})
39
39
  end
40
40
 
41
41
  # EVALUATION
@@ -4,19 +4,18 @@ module CloudSesame
4
4
  module Query
5
5
  module Node
6
6
  describe Facet do
7
- let(:facet) { Facet.new(context) }
8
- let(:context) { Domain::Context.new(facet_options) }
7
+ let(:facet) { Facet.new(facet_options) }
9
8
  describe '#facet' do
10
9
  context 'when default facet is defined' do
11
10
  let(:facet_options) { { price: { size: 100 } } }
12
11
  it 'should return the default facet options' do
13
- expect(facet.facet).to include(facet_options)
12
+ expect(facet_options).to include(facet_options)
14
13
  end
15
14
  end
16
15
  context 'when default facet is not defined' do
17
16
  let(:facet_options) { {} }
18
17
  it 'should return an empty facet options' do
19
- expect(facet.facet).to include(facet_options)
18
+ expect(facet_options).to include(facet_options)
20
19
  end
21
20
  end
22
21
  end
@@ -42,7 +42,7 @@
42
42
 
43
43
  # field :searchable_text, query: { weight: 2 }
44
44
  # field :description, query: true
45
- # field :tags
45
+ # field :tags, as: :text1
46
46
 
47
47
  # field :affiliate_advertiser_ext_id, facet: { size: 50 }
48
48
  # field :currency, facet: true
@@ -68,32 +68,32 @@
68
68
  # n.times do
69
69
  # q = Product.cloudsearch.query("black jacket").sort(price: :asc).page(1).size(1000).and {
70
70
  # or! {
71
- # tags "1", "2"
72
- # and! {
73
- # tags.not "3", "4"
74
- # }
75
- # and!.not {
76
- # tags.start_with "5", "6"
77
- # tags.not.start_with "7"
78
- # tags.not.near "8"
79
- # tags start_with("9"), near("10")
80
- # tags term "11"
81
- # tags phrase "12"
82
- # }
83
- # or!.not {
84
- # price 25..100
85
- # price 100...200
86
- # price gte(200).lt(300)
87
- # price gte(300)
88
- # }
89
- # or! {
90
- # created_at Date.today - 7
91
- # created_at gte(Date.today)
92
- # created_at gte(Date.today).lt(Date.today + 3)
93
- # }
71
+ # tags "1", "2"
72
+ # and! {
73
+ # tags.not "3", "4"
74
+ # }
75
+ # and!.not {
76
+ # tags.start_with "5", "6"
77
+ # tags.not.start_with "7"
78
+ # tags.not.near "8"
79
+ # tags start_with("9"), near("10")
80
+ # tags term "11"
81
+ # tags phrase "12"
82
+ # }
83
+ # or!.not {
84
+ # price 25..100
85
+ # price 100...200
86
+ # price gte(200).lt(300)
87
+ # price gte(300)
88
+ # }
89
+ # or! {
90
+ # created_at Date.today - 7
91
+ # created_at gte(Date.today)
92
+ # created_at gte(Date.today).lt(Date.today + 3)
94
93
  # }
95
94
  # }
96
- # a = q.applied_filters
95
+ # }
96
+ # q.applied_filters
97
97
 
98
98
  # end
99
99
  # end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ module CloudSesame
4
+ describe Context do
5
+
6
+ describe '#initialize' do
7
+ it 'should set default value to nil' do
8
+ expect(subject.table).to eq({})
9
+ end
10
+ it 'should accept an default value' do
11
+ context = Context.new(:default_value)
12
+ expect(context.table).to eq(:default_value)
13
+ end
14
+ end
15
+
16
+ end
17
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: CloudSesame
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
  - Scott Chu
@@ -21,84 +21,98 @@ dependencies:
21
21
  name: aws-sdk
22
22
  requirement: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2'
27
27
  type: :runtime
28
28
  prerelease: false
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '2'
34
+ - !ruby/object:Gem::Dependency
35
+ name: activesupport
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
34
48
  - !ruby/object:Gem::Dependency
35
49
  name: rspec
36
50
  requirement: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - ~>
52
+ - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: '3'
41
55
  type: :development
42
56
  prerelease: false
43
57
  version_requirements: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ~>
59
+ - - "~>"
46
60
  - !ruby/object:Gem::Version
47
61
  version: '3'
48
62
  - !ruby/object:Gem::Dependency
49
63
  name: pry
50
64
  requirement: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ~>
66
+ - - "~>"
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  type: :development
56
70
  prerelease: false
57
71
  version_requirements: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ~>
73
+ - - "~>"
60
74
  - !ruby/object:Gem::Version
61
75
  version: '0'
62
76
  - !ruby/object:Gem::Dependency
63
77
  name: guard
64
78
  requirement: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - '>='
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
83
  type: :development
70
84
  prerelease: false
71
85
  version_requirements: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - '>='
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
89
  version: '0'
76
90
  - !ruby/object:Gem::Dependency
77
91
  name: guard-rspec
78
92
  requirement: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - '>='
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  type: :development
84
98
  prerelease: false
85
99
  version_requirements: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - '>='
101
+ - - ">="
88
102
  - !ruby/object:Gem::Version
89
103
  version: '0'
90
104
  - !ruby/object:Gem::Dependency
91
105
  name: ruby-prof
92
106
  requirement: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - '>='
108
+ - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  type: :development
98
112
  prerelease: false
99
113
  version_requirements: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - '>='
115
+ - - ">="
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
118
  description: AWS CloudSearch Query DSL
@@ -107,8 +121,8 @@ executables: []
107
121
  extensions: []
108
122
  extra_rdoc_files: []
109
123
  files:
110
- - .gitignore
111
- - .rspec
124
+ - ".gitignore"
125
+ - ".rspec"
112
126
  - Gemfile
113
127
  - Gemfile.lock
114
128
  - Guardfile
@@ -117,6 +131,7 @@ files:
117
131
  - lib/abstract_object.rb
118
132
  - lib/cloud_sesame.rb
119
133
  - lib/cloud_sesame/config/credential.rb
134
+ - lib/cloud_sesame/context.rb
120
135
  - lib/cloud_sesame/domain/base.rb
121
136
  - lib/cloud_sesame/domain/client.rb
122
137
  - lib/cloud_sesame/domain/config.rb
@@ -171,7 +186,6 @@ files:
171
186
  - profiler.rb
172
187
  - spec/abstract_object_spec.rb
173
188
  - spec/cloud_sesame/domain/base_spec.rb
174
- - spec/cloud_sesame/domain/context_spec.rb
175
189
  - spec/cloud_sesame/query/ast/and_spec.rb
176
190
  - spec/cloud_sesame/query/ast/block_chaining_relation_spec.rb
177
191
  - spec/cloud_sesame/query/ast/multi_expression_operator_spec.rb
@@ -196,6 +210,7 @@ files:
196
210
  - spec/cloud_sesame/query/node/query_spec.rb
197
211
  - spec/cloud_sesame/query/node/sort_spec.rb
198
212
  - spec/cloud_sesame_spec.rb
213
+ - spec/context_spec.rb
199
214
  - spec/spec_helper.rb
200
215
  homepage: https://github.com/47colborne/cloud-sesame
201
216
  licenses:
@@ -207,24 +222,23 @@ require_paths:
207
222
  - lib
208
223
  required_ruby_version: !ruby/object:Gem::Requirement
209
224
  requirements:
210
- - - '>='
225
+ - - ">="
211
226
  - !ruby/object:Gem::Version
212
227
  version: '0'
213
228
  required_rubygems_version: !ruby/object:Gem::Requirement
214
229
  requirements:
215
- - - '>='
230
+ - - ">="
216
231
  - !ruby/object:Gem::Version
217
232
  version: '0'
218
233
  requirements: []
219
234
  rubyforge_project:
220
- rubygems_version: 2.4.8
235
+ rubygems_version: 2.5.1
221
236
  signing_key:
222
237
  specification_version: 4
223
238
  summary: AWS CloudSearch Query DSL
224
239
  test_files:
225
240
  - spec/abstract_object_spec.rb
226
241
  - spec/cloud_sesame/domain/base_spec.rb
227
- - spec/cloud_sesame/domain/context_spec.rb
228
242
  - spec/cloud_sesame/query/ast/and_spec.rb
229
243
  - spec/cloud_sesame/query/ast/block_chaining_relation_spec.rb
230
244
  - spec/cloud_sesame/query/ast/multi_expression_operator_spec.rb
@@ -249,4 +263,5 @@ test_files:
249
263
  - spec/cloud_sesame/query/node/query_spec.rb
250
264
  - spec/cloud_sesame/query/node/sort_spec.rb
251
265
  - spec/cloud_sesame_spec.rb
266
+ - spec/context_spec.rb
252
267
  - spec/spec_helper.rb
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module CloudSesame
4
- module Domain
5
- describe Context do
6
-
7
- describe '#initialize' do
8
- it 'should set default value to nil' do
9
- expect(subject.table).to eq({})
10
- end
11
- it 'should accept an default value' do
12
- context = Context.new(:default_value)
13
- expect(context.table).to eq(:default_value)
14
- end
15
- end
16
-
17
- describe '#[]' do
18
- # it 'should return an '
19
-
20
- end
21
-
22
- end
23
- end
24
- end