ytj_client 0.2.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8eae097f8325e466a4593e4960afff09fc8db03
4
- data.tar.gz: af32f6468f790c419c4cc04816575198de4f77d1
3
+ metadata.gz: 455bb7b28b6be0a244f82d8be90a5a6d1dffa0d7
4
+ data.tar.gz: f268be3fd7806007f44600fb2d9e3fbb9fb4ab15
5
5
  SHA512:
6
- metadata.gz: fe5c1dbcdb5dff384d998fb0d7454e7c6b9214d884746aeace174ce37dfd3e2f65533d8ac1acdfe11a1d89587baaee915e9a75764f247050d319f0256bef9b07
7
- data.tar.gz: 0605aa009b316bd33ad408e727723caceced144b99fb689229508e026d22801b1741151b278fb109d90d14ac488cbf71021546891bea179aafcd94317de5241a
6
+ metadata.gz: 26734252f07e86bc96bc022b5b70f0b39d5186e245a6cd5d79e1a9fbaccd5355635c71e082f24fef18526174592f0c4506de40cd37d7e90412861605401a7569
7
+ data.tar.gz: bcacb0411072814d10fbea61cb6c8c6894a9ea2c84bccddb900a8f71822c06ee786ed27da71a1370ce675abb9b4495eca95b5b42467520e3fae44cd370a02393
data/.travis.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.3.1
5
- before_install: gem install bundler -v 1.13.5
4
+ - 2.3.3
5
+ before_install: gem install bundler -v 1.13.6
data/README.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # ytj_client
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/ytj_client.svg)](https://badge.fury.io/rb/ytj_client)
4
+ [![Dependency Status](https://gemnasium.com/badges/github.com/jannewaren/ytj_client.svg)](https://gemnasium.com/github.com/jannewaren/ytj_client)
5
+ [![Build Status](https://travis-ci.org/jannewaren/ytj_client.svg?branch=master)](https://travis-ci.org/jannewaren/ytj_client)
6
+
7
+ [![Test Coverage](https://codeclimate.com/github/jannewaren/ytj_client/badges/coverage.svg)](https://codeclimate.com/github/jannewaren/ytj_client/coverage)
8
+ [![Code Climate](https://codeclimate.com/github/jannewaren/ytj_client/badges/gpa.svg)](https://codeclimate.com/github/jannewaren/ytj_client)
9
+ [![Issue Count](https://codeclimate.com/github/jannewaren/ytj_client/badges/issue_count.svg)](https://codeclimate.com/github/jannewaren/ytj_client)
10
+
11
+
3
12
  A really small gem to fetch and parse data from the Finnish Patent and Registration Office's (PRH) YTJ-tiedot (business information system) API at http://avoindata.prh.fi/ytj.html
4
13
 
5
14
  Makes the API call for you and parses the relevant (in my opinion) information to a convenient format (Ruby hash).
@@ -43,4 +52,13 @@ YtjClient.fetch_company('2331972-7')
43
52
  # }
44
53
  # }
45
54
  ```
55
+ ## Version history
56
+
57
+ ### 0.2.2
58
+
59
+ - fetch all Finnish companies from TR api
60
+
61
+ ### 0.2.1
46
62
 
63
+ - first working Version
64
+ - fetching company details with business_id
@@ -1,3 +1,3 @@
1
1
  module YtjClient
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.2"
3
3
  end
data/lib/ytj_client.rb CHANGED
@@ -1,9 +1,18 @@
1
- require "ytj_client/version"
1
+ require 'ytj_client/version'
2
2
  require 'logger'
3
+ require 'restclient'
4
+
5
+ require 'active_support'
6
+ require 'active_support/core_ext/object/blank'
7
+ require 'active_support/core_ext/hash/slice'
8
+ require 'active_support/core_ext/hash/keys'
9
+ require 'active_support/core_ext/string/inflections'
3
10
 
4
11
  module YtjClient
5
12
 
6
13
  YTJ_API_URL = 'http://avoindata.prh.fi:80/bis/v1/'.freeze
14
+ TR_API_URL = 'http://avoindata.prh.fi:80/tr/v1?totalResults=false&maxResults=1000&resultsFrom=0&companyRegistrationFrom=
15
+ '.freeze
7
16
 
8
17
  class << self
9
18
 
@@ -27,8 +36,27 @@ module YtjClient
27
36
  logger.error "Error fetching data from YTJ: #{$!.message} - #{$!.backtrace}"
28
37
  end
29
38
 
39
+ def fetch_all_companies(to_date = '1896-01-01')
40
+ all_companies = []
41
+ url = TR_API_URL+to_date
42
+
43
+ while true
44
+ companies, url = fetch_1000_companies(url)
45
+ companies.each do |result|
46
+ all_companies << result.slice("businessId", "name", "companyForm", "registrationDate").symbolize_keys
47
+ end
48
+ break if url.blank?
49
+ end
50
+ return all_companies
51
+ end
52
+
30
53
  private
31
54
 
55
+ def fetch_1000_companies(url)
56
+ response = JSON.parse(RestClient.get(url).body)
57
+ return response["results"], response["nextResultsUri"]
58
+ end
59
+
32
60
  # Returns a hash with all company data from YTJ
33
61
  def api_call(business_id)
34
62
  url = "#{YTJ_API_URL}#{business_id}"
data/ytj_client.gemspec CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.require_paths = ["lib"]
23
23
 
24
24
  spec.add_development_dependency "bundler", "~> 1.13"
25
- spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "rake", "~> 12.0"
26
26
  spec.add_development_dependency "rspec", "~> 3.0"
27
27
  spec.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.3'
28
28
  spec.add_development_dependency 'webmock', '~> 2.3', '>= 2.3.1'
@@ -30,4 +30,5 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency 'awesome_print', '~> 1.7', '>= 1.7.0'
31
31
 
32
32
  spec.add_runtime_dependency 'rest-client', '~> 2.0', '>= 2.0.0'
33
+ spec.add_runtime_dependency 'activesupport', '~> 5.0', '>= 5.0.1'
33
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ytj_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Janne Warén
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-14 00:00:00.000000000 Z
11
+ date: 2016-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '12.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '12.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -146,6 +146,26 @@ dependencies:
146
146
  - - ">="
147
147
  - !ruby/object:Gem::Version
148
148
  version: 2.0.0
149
+ - !ruby/object:Gem::Dependency
150
+ name: activesupport
151
+ requirement: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - "~>"
154
+ - !ruby/object:Gem::Version
155
+ version: '5.0'
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: 5.0.1
159
+ type: :runtime
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '5.0'
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: 5.0.1
149
169
  description: Fetches data with business_id from the YTJ API at http://avoindata.prh.fi/ytj.html
150
170
  email:
151
171
  - janne.waren@iki.fi