endeca_on_demand 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. data/endeca_on_demand.gemspec +4 -0
  2. data/lib/endeca_on_demand/client.rb +24 -0
  3. data/lib/endeca_on_demand/collection.rb +41 -0
  4. data/lib/endeca_on_demand/pp.rb +48 -0
  5. data/lib/endeca_on_demand/proxy.rb +58 -8
  6. data/lib/endeca_on_demand/query.rb +187 -0
  7. data/lib/endeca_on_demand/response/applied_filters/keyword_redirect.rb +42 -0
  8. data/lib/endeca_on_demand/response/applied_filters/search_report/search.rb +42 -0
  9. data/lib/endeca_on_demand/response/applied_filters/search_report.rb +50 -0
  10. data/lib/endeca_on_demand/response/applied_filters/selected_dimension_value_id.rb +32 -0
  11. data/lib/endeca_on_demand/response/applied_filters.rb +39 -0
  12. data/lib/endeca_on_demand/response/breadcrumb/bread.rb +42 -0
  13. data/lib/endeca_on_demand/response/breadcrumb.rb +35 -0
  14. data/lib/endeca_on_demand/response/business_rules_result/business_rule.rb +54 -0
  15. data/lib/endeca_on_demand/response/business_rules_result.rb +31 -0
  16. data/lib/endeca_on_demand/response/dimension/dimension_value.rb +50 -0
  17. data/lib/endeca_on_demand/response/dimension.rb +50 -0
  18. data/lib/endeca_on_demand/response/property.rb +36 -0
  19. data/lib/endeca_on_demand/response/records_set/record.rb +53 -0
  20. data/lib/endeca_on_demand/response/records_set.rb +50 -0
  21. data/lib/endeca_on_demand/response.rb +62 -0
  22. data/lib/endeca_on_demand/version.rb +1 -1
  23. data/lib/endeca_on_demand.rb +251 -243
  24. metadata +69 -17
  25. data/lib/endeca_on_demand/bread_crumb.rb +0 -12
  26. data/lib/endeca_on_demand/business_rules_result/property.rb +0 -14
  27. data/lib/endeca_on_demand/business_rules_result.rb +0 -33
  28. data/lib/endeca_on_demand/dimension/dimension_value.rb +0 -14
  29. data/lib/endeca_on_demand/dimension.rb +0 -24
  30. data/lib/endeca_on_demand/keyword_redirect.rb +0 -12
  31. data/lib/endeca_on_demand/record_set/record.rb +0 -14
  32. data/lib/endeca_on_demand/record_set.rb +0 -24
  33. data/lib/endeca_on_demand/search_report/search.rb +0 -14
  34. data/lib/endeca_on_demand/search_report.rb +0 -21
  35. data/lib/endeca_on_demand/selected_dimension_value_id.rb +0 -12
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: endeca_on_demand
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-07 00:00:00.000000000Z
12
+ date: 2011-12-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70320197059740 !ruby/object:Gem::Requirement
16
+ requirement: &70127698146980 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,54 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70320197059740
24
+ version_requirements: *70127698146980
25
+ - !ruby/object:Gem::Dependency
26
+ name: pry
27
+ requirement: &70127698146080 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70127698146080
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: nokogiri
27
- requirement: &70320197053000 !ruby/object:Gem::Requirement
38
+ requirement: &70127698145060 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70127698145060
47
+ - !ruby/object:Gem::Dependency
48
+ name: builder
49
+ requirement: &70127698143600 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70127698143600
58
+ - !ruby/object:Gem::Dependency
59
+ name: activesupport
60
+ requirement: &70127698141200 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '3.1'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *70127698141200
69
+ - !ruby/object:Gem::Dependency
70
+ name: i18n
71
+ requirement: &70127698134580 !ruby/object:Gem::Requirement
28
72
  none: false
29
73
  requirements:
30
74
  - - ! '>='
@@ -32,7 +76,7 @@ dependencies:
32
76
  version: '0'
33
77
  type: :runtime
34
78
  prerelease: false
35
- version_requirements: *70320197053000
79
+ version_requirements: *70127698134580
36
80
  description: EndecaOnDemand will take a query-string and construct an XML query and
37
81
  send it to an hosted Endeca On-Demand Cluster. It will then parse the response and
38
82
  expose an API for using the response data.
@@ -49,18 +93,26 @@ files:
49
93
  - Rakefile
50
94
  - endeca_on_demand.gemspec
51
95
  - lib/endeca_on_demand.rb
52
- - lib/endeca_on_demand/bread_crumb.rb
53
- - lib/endeca_on_demand/business_rules_result.rb
54
- - lib/endeca_on_demand/business_rules_result/property.rb
55
- - lib/endeca_on_demand/dimension.rb
56
- - lib/endeca_on_demand/dimension/dimension_value.rb
57
- - lib/endeca_on_demand/keyword_redirect.rb
96
+ - lib/endeca_on_demand/client.rb
97
+ - lib/endeca_on_demand/collection.rb
98
+ - lib/endeca_on_demand/pp.rb
58
99
  - lib/endeca_on_demand/proxy.rb
59
- - lib/endeca_on_demand/record_set.rb
60
- - lib/endeca_on_demand/record_set/record.rb
61
- - lib/endeca_on_demand/search_report.rb
62
- - lib/endeca_on_demand/search_report/search.rb
63
- - lib/endeca_on_demand/selected_dimension_value_id.rb
100
+ - lib/endeca_on_demand/query.rb
101
+ - lib/endeca_on_demand/response.rb
102
+ - lib/endeca_on_demand/response/applied_filters.rb
103
+ - lib/endeca_on_demand/response/applied_filters/keyword_redirect.rb
104
+ - lib/endeca_on_demand/response/applied_filters/search_report.rb
105
+ - lib/endeca_on_demand/response/applied_filters/search_report/search.rb
106
+ - lib/endeca_on_demand/response/applied_filters/selected_dimension_value_id.rb
107
+ - lib/endeca_on_demand/response/breadcrumb.rb
108
+ - lib/endeca_on_demand/response/breadcrumb/bread.rb
109
+ - lib/endeca_on_demand/response/business_rules_result.rb
110
+ - lib/endeca_on_demand/response/business_rules_result/business_rule.rb
111
+ - lib/endeca_on_demand/response/dimension.rb
112
+ - lib/endeca_on_demand/response/dimension/dimension_value.rb
113
+ - lib/endeca_on_demand/response/property.rb
114
+ - lib/endeca_on_demand/response/records_set.rb
115
+ - lib/endeca_on_demand/response/records_set/record.rb
64
116
  - lib/endeca_on_demand/version.rb
65
117
  homepage: http://github.com/sdomino/endeca_on-demand
66
118
  licenses: []
@@ -1,12 +0,0 @@
1
- class EndecaOnDemand
2
- class BreadCrumb < Proxy
3
-
4
- def initialize(bread_crumb)
5
- bread_crumb.children.each do |node|
6
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
7
- self.class_eval("attr_reader :#{node.name.downcase}")
8
- end
9
- end
10
-
11
- end
12
- end
@@ -1,14 +0,0 @@
1
- class EndecaOnDemand
2
- class BusinessRulesResult
3
- class Property < Proxy
4
-
5
- def initialize(property)
6
- property.children.each do |node|
7
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
8
- self.class_eval("attr_reader :#{node.name.downcase}")
9
- end
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,33 +0,0 @@
1
- class EndecaOnDemand
2
- class BusinessRulesResult < Proxy
3
-
4
- require 'endeca_on_demand/business_rules_result/property'
5
- require 'endeca_on_demand/record_set/record'
6
-
7
- attr_reader :properties
8
-
9
- def initialize(business_rules_result)
10
- @properties = []
11
- @records = []
12
-
13
- business_rules_result.children.each do |node|
14
-
15
- if node.name == "properties"
16
- node.xpath("./properties").each do |node|
17
- @properties.push(EndecaOnDemand::BusinessRulesResult::Property.new(node))
18
- end
19
- end
20
-
21
- if node.name == "RecordSet"
22
- node.xpath("./RecordSet//Record").each do |node|
23
- @records.push(EndecaOnDemand::RecordSet::Record.new(node))
24
- end
25
- end
26
-
27
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
28
- self.class_eval("attr_reader :#{node.name.downcase}")
29
- end
30
- end
31
-
32
- end
33
- end
@@ -1,14 +0,0 @@
1
- class EndecaOnDemand
2
- class Dimension
3
- class DimensionValue < Proxy
4
-
5
- def initialize(dimension_value)
6
- dimension_value.children.each do |node|
7
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
8
- self.class_eval("attr_reader :#{node.name.downcase}")
9
- end
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,24 +0,0 @@
1
- class EndecaOnDemand
2
- class Dimension < Proxy
3
-
4
- require 'endeca_on_demand/dimension/dimension_value'
5
-
6
- attr_reader :dimension_values
7
-
8
- def initialize(dimension)
9
- @dimension_values = []
10
-
11
- dimension.children.each do |node|
12
- if node.name == "DimensionValues"
13
- node.xpath("./DimensionValue").each do |node|
14
- @dimension_values.push(EndecaOnDemand::Dimension::DimensionValue.new(node))
15
- end
16
- else
17
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
18
- self.class_eval("attr_reader :#{node.name.downcase}")
19
- end
20
- end
21
- end
22
-
23
- end
24
- end
@@ -1,12 +0,0 @@
1
- class EndecaOnDemand
2
- class KeywordRedirect < Proxy
3
-
4
- def initialize(keyword_redirect)
5
- keyword_redirect.children.each do |node|
6
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
7
- self.class_eval("attr_reader :#{node.name.downcase}")
8
- end
9
- end
10
-
11
- end
12
- end
@@ -1,14 +0,0 @@
1
- class EndecaOnDemand
2
- class RecordSet
3
- class Record < Proxy
4
-
5
- def initialize(record)
6
- record.children.each do |node|
7
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
8
- self.class_eval("attr_reader :#{node.name.downcase}")
9
- end
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,24 +0,0 @@
1
- class EndecaOnDemand
2
- class Record < Proxy
3
-
4
- require 'endeca_on_demand/record_set/record'
5
-
6
- attr_reader :records
7
-
8
- def initialize(record_set)
9
- @records = []
10
-
11
- record_set.children.each do |node|
12
- if node.name == "Record"
13
- node.xpath("./Record").each do |node|
14
- @records.push(EndecaOnDemand::RecordSet::Record.new(node))
15
- end
16
- else
17
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
18
- self.class_eval("attr_reader :#{node.name.downcase}")
19
- end
20
- end
21
- end
22
-
23
- end
24
- end
@@ -1,14 +0,0 @@
1
- class EndecaOnDemand
2
- class SearchReport
3
- class Search < Proxy
4
-
5
- def initialize(search)
6
- search.children.each do |node|
7
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
8
- self.class_eval("attr_reader :#{node.name.downcase}")
9
- end
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,21 +0,0 @@
1
- class EndecaOnDemand
2
- class SearchReport < Proxy
3
-
4
- require 'endeca_on_demand/search_report/search'
5
-
6
- attr_reader :search
7
-
8
- def initialize(search_report)
9
- search_report.children.each do |node|
10
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
11
-
12
- node.xpath("//Search").each do |node|
13
- @search = EndecaOnDemand::SearchReport::Search.new(node)
14
- end if node.name == "Search"
15
-
16
- self.class_eval("attr_reader :#{node.name.downcase}")
17
- end
18
- end
19
-
20
- end
21
- end
@@ -1,12 +0,0 @@
1
- class EndecaOnDemand
2
- class SelectedDimensionValueId < Proxy
3
-
4
- def initialize(selected_dimension_value_id)
5
- selected_dimension_value_id.each do |node|
6
- self.instance_variable_set(:"@#{node.name.downcase}", node.content)
7
- self.class_eval("attr_reader :#{node.name.downcase}")
8
- end
9
- end
10
-
11
- end
12
- end