nne_client 0.0.1 → 0.0.2

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.
Files changed (34) hide show
  1. data/History.md +12 -0
  2. data/README.md +0 -4
  3. data/lib/nne_client/record_types/finance.rb +28 -27
  4. data/lib/nne_client/request.rb +6 -5
  5. data/lib/nne_client/result_attributes.rb +9 -0
  6. data/lib/nne_client/version.rb +1 -1
  7. data/lib/nne_client.rb +0 -2
  8. data/spec/finance_spec.rb +27 -27
  9. data/spec/result_spec.rb +9 -6
  10. data/spec/vcr_cassettes/result_additional_names_single.yml +10 -676
  11. data/spec/vcr_cassettes/result_extended_info.yml +13 -679
  12. data/spec/vcr_cassettes/result_extended_info_with_access_key.yml +15 -681
  13. data/spec/vcr_cassettes/result_fetching_basic_attributes.yml +6 -672
  14. data/spec/vcr_cassettes/result_fetching_ext_attributes_email_hash.yml +14 -1346
  15. data/spec/vcr_cassettes/result_fetching_missing_company.yml +11 -677
  16. data/spec/vcr_cassettes/result_multiple_finances.yml +23 -1355
  17. data/spec/vcr_cassettes/result_multiple_ownerships.yml +20 -1352
  18. data/spec/vcr_cassettes/result_multiple_trades.yml +17 -1349
  19. data/spec/vcr_cassettes/result_names.yml +13 -679
  20. data/spec/vcr_cassettes/result_names_empty.yml +12 -678
  21. data/spec/vcr_cassettes/result_no_finance.yml +21 -1353
  22. data/spec/vcr_cassettes/result_no_ownerships.yml +12 -678
  23. data/spec/vcr_cassettes/result_no_subsidiaries.yml +21 -1353
  24. data/spec/vcr_cassettes/result_single_finance.yml +19 -1351
  25. data/spec/vcr_cassettes/result_single_ownership.yml +24 -1356
  26. data/spec/vcr_cassettes/result_single_subsidiary.yml +23 -1355
  27. data/spec/vcr_cassettes/result_trades.yml +11 -677
  28. data/spec/vcr_cassettes/search_for_noise.yml +13 -679
  29. data/spec/vcr_cassettes/search_lokale.yml +12 -678
  30. data/spec/vcr_cassettes/search_lokale_100.yml +13 -679
  31. data/spec/vcr_cassettes/search_lokalebasen.yml +12 -678
  32. data/spec/vcr_cassettes/search_lokalebasen_with_access_key.yml +13 -679
  33. data/wsdl/nne.wsdl +639 -0
  34. metadata +6 -4
data/History.md ADDED
@@ -0,0 +1,12 @@
1
+
2
+ 0.0.2 / 2012-05-21
3
+ ==================
4
+
5
+ * Convert finance info to floats
6
+ * Don't force net_http
7
+ * Store wsdl locally
8
+
9
+ 0.0.1 / 2012-05-15
10
+ ==================
11
+
12
+ Initial release
data/README.md CHANGED
@@ -16,10 +16,6 @@ Or install it yourself as:
16
16
 
17
17
  $ gem install nne_client
18
18
 
19
- ## Warning
20
-
21
- NNEClient only works with the Net/HTTP and will force HTTPI to use this.
22
-
23
19
  ## Usage
24
20
 
25
21
  If you need to provide an access key configure NNE Client with:
@@ -7,37 +7,38 @@ module NNEClient
7
7
  end
8
8
 
9
9
  attributes :accounting_date,
10
- :assets,
11
- :available_funds,
12
- :available_funds_ratio,
13
- :balance,
14
- :capacity_ratio,
15
- :contribution_ratio,
16
10
  :credit_rating,
17
- :current_assets,
18
- :depreciations,
19
- :fixed_assets,
20
- :fixed_cost,
21
- :gross_profit,
22
- :income_before_income_tax,
23
11
  :link_pdf,
24
- :long_termed_liability,
25
- :lots_and_sites,
26
- :net_outcome,
27
12
  :number_of_employees,
28
- :placings,
29
- :profit,
30
- :profit_for_the_year,
31
- :profit_ratio,
32
13
  :published_date,
33
- :return_on_assets,
34
- :share_holders_funds_of_interest,
35
- :shareholders_funds,
36
- :short_termed_liability,
37
- :solvency_ratio,
38
- :stock,
39
- :trade_debitors,
40
- :turnover,
41
14
  :year
15
+
16
+ float_attributes :assets,
17
+ :available_funds,
18
+ :available_funds_ratio,
19
+ :balance,
20
+ :capacity_ratio,
21
+ :contribution_ratio,
22
+ :current_assets,
23
+ :depreciations,
24
+ :fixed_assets,
25
+ :fixed_cost,
26
+ :gross_profit,
27
+ :income_before_income_tax,
28
+ :long_termed_liability,
29
+ :lots_and_sites,
30
+ :net_outcome,
31
+ :placings,
32
+ :profit,
33
+ :profit_for_the_year,
34
+ :profit_ratio,
35
+ :return_on_assets,
36
+ :share_holders_funds_of_interest,
37
+ :shareholders_funds,
38
+ :short_termed_liability,
39
+ :solvency_ratio,
40
+ :stock,
41
+ :trade_debitors,
42
+ :turnover
42
43
  end
43
44
  end
@@ -15,6 +15,9 @@ module NNEClient
15
15
  retries = 3
16
16
  begin
17
17
  ResultSet.new(perform_request(&block))
18
+ rescue HTTPClient::ReceiveTimeoutError => e
19
+ retries -= 1
20
+ retry if retries > 0
18
21
  rescue Net::HTTPRequestTimeOut => e
19
22
  retries -= 1
20
23
  retry if retries > 0
@@ -45,12 +48,10 @@ module NNEClient
45
48
  { "env:encodingStyle" => "http://schemas.xmlsoap.org/soap/encoding/" }
46
49
  end
47
50
 
48
- def wsdl_url
49
- 'http://service.nnerhverv.dk/nne-ws/3.1/NNE?WSDL'
50
- end
51
-
52
51
  def client
53
- @client ||= Savon::Client.new(wsdl_url)
52
+ @client ||= Savon::Client.new do
53
+ wsdl.document = File.expand_path("../../../wsdl/nne.wsdl", __FILE__)
54
+ end
54
55
  end
55
56
  end
56
57
  end
@@ -33,5 +33,14 @@ module NNEClient
33
33
  end
34
34
  end
35
35
  end
36
+
37
+ # Create a method that converts to float for each key listed in attrs
38
+ def float_attributes(*attrs)
39
+ attrs.each do |attribute|
40
+ define_method(attribute) do
41
+ @hash[attribute].to_f unless @hash[attribute].kind_of?(Hash)
42
+ end
43
+ end
44
+ end
36
45
  end
37
46
  end
@@ -1,3 +1,3 @@
1
1
  module NNEClient
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/nne_client.rb CHANGED
@@ -14,8 +14,6 @@ require "nne_client/record_types/ownership"
14
14
  require "nne_client/record_types/subsidiary"
15
15
  require "nne_client/record_types/trade"
16
16
 
17
- HTTPI.adapter = :net_http
18
-
19
17
  # Namespace for the library
20
18
  module NNEClient
21
19
  extend self
data/spec/finance_spec.rb CHANGED
@@ -44,36 +44,36 @@ describe NNEClient::Finance do
44
44
  subject { NNEClient::Finance.new(hash) }
45
45
 
46
46
  its(:accounting_date) { should == hash[:accounting_date] }
47
- its(:assets) { should == hash[:assets] }
48
- its(:available_funds) { should == hash[:available_funds] }
49
- its(:available_funds_ratio) { should == hash[:available_funds_ratio] }
50
- its(:balance) { should == hash[:balance] }
51
- its(:capacity_ratio) { should == hash[:capacity_ratio] }
52
- its(:contribution_ratio) { should == hash[:contribution_ratio] }
47
+ its(:assets) { should == hash[:assets].to_f }
48
+ its(:available_funds) { should == hash[:available_funds].to_f }
49
+ its(:available_funds_ratio) { should == hash[:available_funds_ratio].to_f }
50
+ its(:balance) { should == hash[:balance].to_f }
51
+ its(:capacity_ratio) { should == hash[:capacity_ratio].to_f }
52
+ its(:contribution_ratio) { should == hash[:contribution_ratio].to_f }
53
53
  its(:credit_rating) { should be_nil }
54
- its(:current_assets) { should == hash[:current_assets] }
55
- its(:depreciations) { should == hash[:depreciations] }
56
- its(:fixed_assets) { should == hash[:fixed_assets] }
57
- its(:fixed_cost) { should == hash[:fixed_cost] }
58
- its(:gross_profit) { should == hash[:gross_profit] }
59
- its(:income_before_income_tax) { should == hash[:income_before_income_tax] }
54
+ its(:current_assets) { should == hash[:current_assets].to_f }
55
+ its(:depreciations) { should == hash[:depreciations].to_f }
56
+ its(:fixed_assets) { should == hash[:fixed_assets].to_f }
57
+ its(:fixed_cost) { should == hash[:fixed_cost].to_f }
58
+ its(:gross_profit) { should == hash[:gross_profit].to_f }
59
+ its(:income_before_income_tax) { should == hash[:income_before_income_tax].to_f }
60
60
  its(:link_pdf) { should == hash[:link_pdf] }
61
- its(:long_termed_liability) { should == hash[:long_termed_liability] }
62
- its(:lots_and_sites) { should == hash[:lots_and_sites] }
63
- its(:net_outcome) { should == hash[:net_outcome] }
61
+ its(:long_termed_liability) { should == hash[:long_termed_liability].to_f }
62
+ its(:lots_and_sites) { should == hash[:lots_and_sites].to_f }
63
+ its(:net_outcome) { should == hash[:net_outcome].to_f }
64
64
  its(:number_of_employees) { should == hash[:number_of_employees] }
65
- its(:placings) { should == hash[:placings] }
66
- its(:profit) { should == hash[:profit] }
67
- its(:profit_for_the_year) { should == hash[:profit_for_the_year] }
68
- its(:profit_ratio) { should == hash[:profit_ratio] }
65
+ its(:placings) { should == hash[:placings].to_f }
66
+ its(:profit) { should == hash[:profit].to_f }
67
+ its(:profit_for_the_year) { should == hash[:profit_for_the_year].to_f }
68
+ its(:profit_ratio) { should == hash[:profit_ratio].to_f }
69
69
  its(:published_date) { should == hash[:published_date] }
70
- its(:return_on_assets) { should == hash[:return_on_assets] }
71
- its(:share_holders_funds_of_interest) { should == hash[:share_holders_funds_of_interest] }
72
- its(:shareholders_funds) { should == hash[:shareholders_funds] }
73
- its(:short_termed_liability) { should == hash[:short_termed_liability] }
74
- its(:solvency_ratio) { should == hash[:solvency_ratio] }
75
- its(:stock) { should == hash[:stock] }
76
- its(:trade_debitors) { should == hash[:trade_debitors] }
77
- its(:turnover) { should == hash[:turnover] }
70
+ its(:return_on_assets) { should == hash[:return_on_assets].to_f }
71
+ its(:share_holders_funds_of_interest) { should == hash[:share_holders_funds_of_interest].to_f }
72
+ its(:shareholders_funds) { should == hash[:shareholders_funds].to_f }
73
+ its(:short_termed_liability) { should == hash[:short_termed_liability].to_f }
74
+ its(:solvency_ratio) { should == hash[:solvency_ratio].to_f }
75
+ its(:stock) { should == hash[:stock].to_f }
76
+ its(:trade_debitors) { should == hash[:trade_debitors].to_f }
77
+ its(:turnover) { should == hash[:turnover].to_f }
78
78
  its(:year) { should == hash[:year] }
79
79
  end
data/spec/result_spec.rb CHANGED
@@ -94,7 +94,7 @@ describe NNEClient::Result do
94
94
  its(:homepage) { should be_nil }
95
95
  its(:founded_year) { should == '2009' }
96
96
  its(:number_of_employees) { should == '0' }
97
- its(:tdf_name) { should == 'Incremental' }
97
+ its(:tdf_name) { should == 'Jacob Atzen' }
98
98
  its(:status_text) { should == 'Selskabet er i normal drift.' }
99
99
  end
100
100
 
@@ -109,7 +109,7 @@ describe NNEClient::Result do
109
109
  its(:homepage) { should be_nil }
110
110
  its(:founded_year) { should == '2009' }
111
111
  its(:number_of_employees) { should == '0' }
112
- its(:tdf_name) { should == 'Incremental' }
112
+ its(:tdf_name) { should == 'Jacob Atzen' }
113
113
  its(:status_text) { should == 'Selskabet er i normal drift.' }
114
114
  end
115
115
  end
@@ -257,14 +257,17 @@ describe NNEClient::Result do
257
257
 
258
258
  it "knows all names" do
259
259
  soap_vcr('result_names') do
260
- result = NNEClient::Result.new(:official_name => 'Name', :tdc_id => '100323228')
260
+ result = NNEClient::Result.new(:official_name => 'Name', :tdc_id => '100055268')
261
261
  result.additional_names.should == [
262
- "Tv Holbæk A/S",
262
+ "A/S Kalundborg Folkeblad",
263
+ "Aktieselskabet Holbæk Amts Venstreblad",
263
264
  "A/S Trykkeriet Nordvest",
264
265
  "A/S Trykkeriet Nordvestsjælland",
266
+ "Havision A/S",
265
267
  "Nordvestsjællands Media Selskab A/S",
266
- "Radio Holbæk A/S"
267
- ]
268
+ "Radio Holbæk A/S",
269
+ "Tv Holbæk A/S"
270
+ ]
268
271
  end
269
272
  end
270
273