desmoservice 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c1c3e6944ff6ae401ffcab53b2f0b2532e9d9b13
4
- data.tar.gz: f86922c7995c9e9edbad514971b79f0882bb0e97
3
+ metadata.gz: c24c7dba594b94492f625978524625df7b6dca17
4
+ data.tar.gz: 61577cbc10e4d99bb486adc0e8ef9f6805f9f548
5
5
  SHA512:
6
- metadata.gz: 76da1504d2b654f262cc91d1ecb03e02dfd9558b554fe752629bea7d8b1748a2e6a786a0ba305f8d1efcdb40f21ad7bfc05597c74b0486ba54df93eb4694d6fd
7
- data.tar.gz: 3131af34125ef66347323ed720ffbcc78774ad2d7d532565db4e52ad95a7ca1770564f1e5d595ac1c0a7e225082dd912acecfc3e3d42bdcb519e21111234a2fa
6
+ metadata.gz: d9142be3fb5bdcd22bcaaa52a1521453ceb25465a6c3c35a0687770bb6351e27a76da41823eaa926492cbe18b302eb618240a5911a2e8cd247ba30646cc62238
7
+ data.tar.gz: e39af6325cb1238fb88e96c8049dce926d7a16b211d940152ffc63a41106de7eb8808b653ef998c14ce308139d837a2d9053327cdcaec2ebd51c4e40bb40eb9b
data/desmoservice.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'desmoservice'
3
- s.version = '0.1.1'
4
- s.date = '2015-09-25'
3
+ s.version = '0.2.0'
4
+ s.date = '2015-11-05'
5
5
  s.license = 'Ruby'
6
6
  s.summary = 'Read and write access to Desmoservice API'
7
7
  s.description = 'Manage the connection to Desmoservice server, convert JSON to ruby objects and build XML for edition'
data/lib/desmoservice.rb CHANGED
@@ -8,6 +8,7 @@ require_relative 'term'
8
8
  require_relative 'family'
9
9
  require_relative 'sector'
10
10
  require_relative 'word_distribution'
11
+ require_relative 'terms'
11
12
  require_relative 'get'
12
13
  require_relative 'get_params'
13
14
  require_relative 'edition'
data/lib/get.rb CHANGED
@@ -48,6 +48,22 @@ class Get
48
48
  word_distribution.parse_json(json_string)
49
49
  return word_distribution
50
50
  end
51
+
52
+ def self.terms(desmoservice_conf, get_params, http=nil)
53
+ options = get_params.to_h('terms')
54
+ uri = desmoservice_conf.build_json_uri(options)
55
+ if http.nil?
56
+ json_string = Net::HTTP.get(uri)
57
+ else
58
+ request = Net::HTTP::Get.new(uri)
59
+ response = http.request(request)
60
+ json_string = response.body
61
+ end
62
+ terms = Terms.new()
63
+ terms.parse_json(json_string)
64
+ return terms
65
+ end
66
+
51
67
  end
52
68
 
53
69
  end
data/lib/get_params.rb CHANGED
@@ -4,17 +4,20 @@ class GetParams
4
4
  attr_accessor :with_keys, :with_attrs, :with_parent,
5
5
  :family_filter, :inferiors_only,
6
6
  :ventilation_root_id, :ventilation_root_uri, :ventilation_name,
7
- :ignore_empty_sectors
7
+ :ignore_empty_sectors,
8
+ :query
8
9
 
9
10
 
10
11
  def initialize()
11
12
  @with_keys = true
12
13
  @with_attrs = false
14
+ @with_parent = false
13
15
  @ventilation_root_id = nil
14
16
  @ventilation_root_uri = nil
15
17
  @ignore_empty_sectors = nil
16
18
  @ventilation_name = 'ventilation:naturelle'
17
19
  @inferiors_only = false
20
+ @query = nil
18
21
  end
19
22
 
20
23
  def to_h(type)
@@ -55,6 +58,11 @@ class GetParams
55
58
  result['name'] = @ventilation_name
56
59
  end
57
60
  end
61
+ if type == 'terms'
62
+ if not @query.nil?
63
+ result['q'] = @query
64
+ end
65
+ end
58
66
  return result
59
67
  end
60
68
 
data/lib/terms.rb ADDED
@@ -0,0 +1,30 @@
1
+ module Desmoservice
2
+ class Terms
3
+ include Enumerable
4
+
5
+ def initialize()
6
+ @array = Array.new
7
+ end
8
+
9
+ def parse_json(json_string)
10
+ data = JSON.parse(json_string)
11
+ if data.has_key?('terms')
12
+ data['terms'].each {|v| @array << Term.new(v)}
13
+ end
14
+ end
15
+
16
+ def each
17
+ @array.each do |v|
18
+ yield(v)
19
+ end
20
+ end
21
+
22
+ def length
23
+ return @array.length
24
+ end
25
+
26
+ def [](index)
27
+ return @array[index]
28
+ end
29
+ end
30
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: desmoservice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vincent Calame
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-25 00:00:00.000000000 Z
11
+ date: 2015-11-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Manage the connection to Desmoservice server, convert JSON to ruby objects
14
14
  and build XML for edition
@@ -21,6 +21,7 @@ files:
21
21
  - lib/ventilation.rb
22
22
  - lib/get.rb
23
23
  - lib/conf.rb
24
+ - lib/terms.rb
24
25
  - lib/families.rb
25
26
  - lib/term.rb
26
27
  - lib/family.rb