apralib 0.0.3 → 1.0.0

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
- SHA1:
3
- metadata.gz: 8e1c3d9ef8c6aa739c7be8d71899aedda2282086
4
- data.tar.gz: d953aab95c39d1f878c069d01abfaba639b2d821
2
+ SHA256:
3
+ metadata.gz: c622f4562613956c04bd339229bba76d93710f30e759857d5484a25a3e009124
4
+ data.tar.gz: dcfd5590999ac42db30d87ea0970cd5147f72d44a45d13ab0895f942bbda2f85
5
5
  SHA512:
6
- metadata.gz: eaf017863402a9d98e217dbf68058f422fbad6aa4f9e240d1021c77c683c44cbf7ac33dba80c44eb110adf7bd455631384b5b1c7dd4ea05050865d54f56007eb
7
- data.tar.gz: b3fc8bbf5d3c8ff312698df6cbfb62a0b346cf4078f454bb290302201d2ac8e52b7542f2a2f499430ef5d40e1bcc358568a0c7237c8282218c2effccf8ac6acb
6
+ metadata.gz: 20e87a804bb01d8c5823a3ed5f1c38c4b5e7a1f39a2e99fec1fbb1b8562f97a9ec6b1ea8b6d315410622fbb8e2c9fd84b0cf218a6926da2cd948ef55e881c038
7
+ data.tar.gz: ab964e22af2019bae50817f17462a686156a1b10c6e89a929fa1643cb34be6c4c0aa458f0b59d8711bd8d7c3b60318d5b4ac1f25b0aed85d2b8087e5e61d990c
data/.rubocop.yml ADDED
@@ -0,0 +1,3 @@
1
+ Metrics/BlockLength:
2
+ Exclude:
3
+ - spec/**/*.rb
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.2
data/.travis.yml CHANGED
@@ -1,8 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.1.3
4
- - 1.9.3
5
- env:
6
- global:
7
- - secure: XQ58eL4HELhYo0x1RgzyLkAF+XCBzTZLe3NIs4qsc4wIbeIUWVxb6chm/8ikbQn8ndk06EsJrZV/HC08EebUtgb1WTGeaEhyJGdyTVThO2dbLc+wKdrrGcmxiZEd1N6pg0G+4l8QsvMCTWJts6ZhrvVtmle6izGPfF467hLWIjM=
8
- - secure: FY5lZvsTluLglsk0j4c4rPXj0BqN80PVUzCLwFtBzhZJ/Dic8c6IGGDy91RQPoR11bcsqQgUhEOeTh0LEjmuGijZ1WIm0/0PynLZe2rxM76OA/ph5KKmYIgi5OLEkWJ8mQRLSeOqpw2BeaqW35MfhX6uItcJbEztiSgVkx01Y4g=
3
+ - 2.7.2
4
+ - 2.4.0
5
+ deploy:
6
+ provider: rubygems
7
+ edge: true
8
+
data/apralib.gemspec CHANGED
@@ -17,10 +17,12 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
+ spec.required_ruby_version = '>= 2.4.0'
20
21
 
21
- spec.add_development_dependency 'bundler', '~> 1.3'
22
- spec.add_development_dependency 'rake'
23
- spec.add_development_dependency 'rspec', '~> 3.1.0'
22
+ spec.add_development_dependency 'bundler', '~> 2.1'
23
+ spec.add_development_dependency 'rake', '~> 13.0.0'
24
+ spec.add_development_dependency 'rspec', '~> 3.10.0'
24
25
  spec.add_development_dependency 'yard'
25
- spec.add_dependency 'savon', '~> 2.3.0'
26
+ spec.add_dependency 'savon', '~> 2.12.0'
27
+
26
28
  end
@@ -1,36 +1,46 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'notification'
2
4
  require_relative 'response'
3
5
  require 'savon'
4
6
 
5
7
  module ApraService
6
-
8
+ # The main entry point for the library
7
9
  class Client
10
+ def initialize(username, password, proxy = nil)
11
+ wsdl_file = File.expand_path('../wsdl/ApurahanSyotto.wsdl', __dir__)
8
12
 
9
- def initialize(username, password)
10
- @client = Savon.client(wsdl: 'https://palvelu.mela.fi/Apurahailmoitukset/ws/apurahanSyottoWS?wsdl',
13
+ @client = Savon.client(wsdl: wsdl_file,
11
14
  wsse_auth: [username, password],
12
- endpoint: 'https://palvelu.mela.fi/Apurahailmoitukset/ws/apurahanSyottoWS')
15
+ endpoint: 'https://palvelurajapinta.mela.fi/Apurahailmoitukset/ApurahanSyotto',
16
+ proxy: proxy,
17
+ follow_redirects: true)
18
+ end
19
+
20
+ def type_or_array_of_type(arg, type, message)
21
+ raise ArgumentError, 'object cannot be nil' unless arg
22
+
23
+ return if arg.is_a?(type) || (arg.is_a?(Array) && arg.all? { |i| i.is_a? type })
24
+
25
+ raise ArgumentError, message
13
26
  end
14
27
 
15
28
  def send_notifications(notifications)
16
- raise ArgumentError, 'notifications object cannot be nil' unless notifications
17
- raise ArgumentError, 'notifications object must be either a Notification object or an array of Notification objects' unless
18
- (notifications.is_a? Notification or (notifications.is_a? Array and notifications.detect {|n| !n.is_a? Notification}.nil?))
29
+
30
+ type_or_array_of_type(notifications, Notification,
31
+ 'notifications object must be either a Notification object' +
32
+ 'or an array of Notification objects')
33
+
19
34
  notifications = [notifications] unless notifications.is_a? Array
20
- if notifications.count > 0
21
- message = {}
22
- message[:arg0] = notifications.map {|notification| notification.to_hash}
23
- response = @client.call(:lisaa_apurahat, :message => message)
24
- raise RuntimeError, 'An error occurred while submitting the notification' unless response.success?
35
+ if notifications.count.positive?
36
+ message = { apurahailmoitustiedot: notifications.map(&:to_hash) }
37
+ response = @client.call(:lisaa_apurahat, message: message)
38
+ raise 'An error occurred while submitting the notification' unless response.success?
39
+
25
40
  Response.from_hash(response.body)
26
41
  else
27
42
  Response.new
28
43
  end
29
44
  end
30
-
31
-
32
-
33
45
  end
34
-
35
-
36
- end
46
+ end
@@ -2,8 +2,8 @@ module ApraService
2
2
 
3
3
  class Grantee
4
4
 
5
- SSN_REGEX = /(\d{6})([-+A])(\d{3})([0-9ABCDEFHJKLMNPRSTUVWXY])/
6
- CHECK_DIGITS = %w(0 1 2 3 4 5 6 7 8 9 A B C D E F H J K L M N P R S T U V W X Y)
5
+ SSN_REGEX = /(\d{6})([-+A])(\d{3})([0-9ABCDEFHJKLMNPRSTUVWXY])/.freeze
6
+ CHECK_DIGITS = %w[0 1 2 3 4 5 6 7 8 9 A B C D E F H J K L M N P R S T U V W X Y].freeze
7
7
 
8
8
  attr_accessor :first_names, :last_name, :ssn, :address, :zip
9
9
 
@@ -26,8 +26,8 @@ module ApraService
26
26
  grantee.address = hash[:apurahansaajanosoite]
27
27
  grantee.zip = hash[:apurahansaajanpostinumero]
28
28
  grantee.first_names = [hash[:etunimi1]]
29
- grantee.first_name << hash[:etunimi2] if hash[:etunimi2]
30
- grantee.first_name << hash[:etunimi3] if hash[:etunimi3]
29
+ grantee.first_names << hash[:etunimi2] if hash[:etunimi2]
30
+ grantee.first_names << hash[:etunimi3] if hash[:etunimi3]
31
31
  grantee.ssn = hash[:henkilotunnus]
32
32
  grantee.last_name = hash[:sukunimi]
33
33
  grantee
@@ -7,8 +7,8 @@ module ApraService
7
7
  :work_end_date, :reference, :work_duration_months, :work_duration_days,
8
8
  :work_duration_years, :ignore_work_duration
9
9
 
10
- NON_NILLABLE_KEYS = [:purpose, :expense_amount, :grant_date, :granted_to_group, :work_duration_months,
11
- :work_duration_days, :work_duration_years, :grantee, :amount, :ignore_work_duration]
10
+ NON_NILLABLE_KEYS = %i[purpose expense_amount grant_date granted_to_group work_duration_months
11
+ work_duration_days work_duration_years grantee amount ignore_work_duration].freeze
12
12
 
13
13
 
14
14
  def initialize
@@ -22,7 +22,7 @@ module ApraService
22
22
 
23
23
  def to_hash
24
24
  NON_NILLABLE_KEYS.each do |key|
25
- raise RuntimeError, "Variable #{key.to_s} cannot be nil" if self.instance_variable_get("@#{key.to_s}").nil?
25
+ raise "Variable #{key} cannot be nil" if instance_variable_get("@#{key}").nil?
26
26
  end
27
27
  result = {}
28
28
  result[:kayttotarkoitus] = purpose
@@ -33,7 +33,7 @@ module ApraService
33
33
  result[:onko_myonnetty_tyoryhmalle] = granted_to_group
34
34
  result[:rahamaara] = amount
35
35
  result[:saajatiedot] = grantee.to_hash
36
- result[:sisaltaako_kuluja] = (expense_amount > 0)
36
+ result[:sisaltaako_kuluja] = expense_amount.positive?
37
37
 
38
38
  if ignore_work_duration
39
39
  result[:tyon_kesto_kuukausia] = 0
@@ -1,14 +1,14 @@
1
- module ApraService
1
+ # frozen_string_literal: true
2
2
 
3
+ module ApraService
4
+ # The response received from the WebService
3
5
  class Response
4
-
5
6
  attr_accessor :failed_notifications
6
7
 
7
8
  def initialize
8
9
  @failed_notifications = []
9
10
  end
10
11
 
11
-
12
12
  def self.from_hash(hash)
13
13
  puts hash.inspect
14
14
  response = Response.new
@@ -16,15 +16,9 @@ module ApraService
16
16
  failures = raw_response[:epaonnistuneet_ilmoitukset]
17
17
  if failures
18
18
  failures = [failures] unless failures.is_a? Array
19
- response.failed_notifications = failures.map {|notification| NotificationResponse.from_hash(notification) }
19
+ response.failed_notifications = failures.map { |notification| NotificationResponse.from_hash(notification) }
20
20
  end
21
21
  response
22
22
  end
23
-
24
-
25
23
  end
26
-
27
-
28
-
29
-
30
- end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module Apralib
2
- VERSION = '0.0.3'
2
+ VERSION = '1.0.0'.freeze
3
3
  end
@@ -0,0 +1,103 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <wsdl:definitions name="ApurahanSyotto"
3
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
5
+ xmlns:tns="http://palvelurajapinta.mela.fi/WebService/"
6
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
7
+ targetNamespace="http://palvelurajapinta.mela.fi/WebService/">
8
+ <wsdl:types>
9
+ <xs:schema xmlns:tns="http://palvelurajapinta.mela.fi/WebService/"
10
+ targetNamespace="http://palvelurajapinta.mela.fi/WebService/"
11
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"
12
+ attributeFormDefault="unqualified">
13
+ <xs:element type="tns:lisaaApurahat" name="lisaaApurahat" />
14
+ <xs:element type="tns:lisaaApurahatResponse" name="lisaaApurahatResponse" />
15
+
16
+ <xs:complexType name="lisaaApurahat">
17
+ <xs:sequence>
18
+ <xs:element type="tns:apurahailmoitustiedot" name="apurahailmoitustiedot" minOccurs="0" maxOccurs="unbounded" />
19
+ </xs:sequence>
20
+ </xs:complexType>
21
+ <xs:complexType name="apurahailmoitustiedot">
22
+ <xs:sequence>
23
+ <xs:element type="xs:string" name="kayttotarkoitus" />
24
+ <xs:element type="xs:string" name="kayttotarkoitustarkenne" minOccurs="0" />
25
+ <xs:element type="xs:decimal" name="kuluosuusrahamaara" minOccurs="0" />
26
+ <xs:element type="xs:string" name="kuluosuusteksti" minOccurs="0" />
27
+ <xs:element type="xs:dateTime" name="myontopaatoksenAntopvm" />
28
+ <xs:element type="xs:boolean" name="onkoMyonnettyTyoryhmalle" />
29
+ <xs:element type="xs:decimal" name="rahamaara" />
30
+ <xs:element type="tns:saajatiedot" name="saajatiedot" />
31
+ <xs:element type="xs:boolean" name="sisaltaakoKuluja" />
32
+ <xs:element type="xs:int" name="tyonKestoKuukausia" />
33
+ <xs:element type="xs:int" name="tyonKestoPaivia" />
34
+ <xs:element type="xs:int" name="tyonKestoVuosia" />
35
+ <xs:element type="xs:string" name="tyonkestoeikantaa" minOccurs="0" />
36
+ <xs:element type="xs:dateTime" name="tyoskentelynAlkamispvm" minOccurs="0" />
37
+ <xs:element type="xs:dateTime" name="tyoskentelynPaattymispvm" minOccurs="0" />
38
+ <xs:element type="xs:string" name="viite" minOccurs="0" />
39
+ </xs:sequence>
40
+ </xs:complexType>
41
+ <xs:complexType name="saajatiedot">
42
+ <xs:sequence>
43
+ <xs:element type="xs:string" name="apurahansaajanosoite" minOccurs="0" />
44
+ <xs:element type="xs:string" name="apurahansaajanpostinumero" minOccurs="0" />
45
+ <xs:element type="xs:string" name="etunimi1" />
46
+ <xs:element type="xs:string" name="etunimi2" minOccurs="0" />
47
+ <xs:element type="xs:string" name="etunimi3" minOccurs="0" />
48
+ <xs:element type="tns:HenkilotunnusTyyppi" name="henkilotunnus" />
49
+ <xs:element type="xs:string" name="sukunimi" />
50
+ </xs:sequence>
51
+ </xs:complexType>
52
+ <xs:complexType name="lisaaApurahatResponse">
53
+ <xs:sequence>
54
+ <xs:element type="tns:epaonnistunutIlmoitus" name="epaonnistuneetIlmoitukset" minOccurs="0" maxOccurs="unbounded" />
55
+ </xs:sequence>
56
+ </xs:complexType>
57
+ <xs:complexType name="epaonnistunutIlmoitus">
58
+ <xs:sequence>
59
+ <xs:element type="tns:apurahailmoitustiedot" name="ilmoitus" />
60
+ <xs:element type="xs:string" name="virhe" />
61
+ </xs:sequence>
62
+ </xs:complexType>
63
+ <xs:simpleType name="HenkilotunnusTyyppi">
64
+ <xs:restriction base="xs:string">
65
+ <xsd:pattern value="[0-3]\d[01]\d{3}[+\-A]\d{3}[0-9A-FHJ-NPR-Y]"/>
66
+ </xs:restriction>
67
+ </xs:simpleType>
68
+ </xs:schema>
69
+ </wsdl:types>
70
+ <wsdl:message name="lisaaApurahatResponse">
71
+ <wsdl:part name="parameters" element="tns:lisaaApurahatResponse">
72
+ </wsdl:part>
73
+ </wsdl:message>
74
+ <wsdl:message name="lisaaApurahat">
75
+ <wsdl:part name="parameters" element="tns:lisaaApurahat">
76
+ </wsdl:part>
77
+ </wsdl:message>
78
+ <wsdl:portType name="ApurahanSyotto">
79
+ <wsdl:operation name="lisaaApurahat">
80
+ <wsdl:input name="lisaaApurahat" message="tns:lisaaApurahat">
81
+ </wsdl:input>
82
+ <wsdl:output name="lisaaApurahatResponse" message="tns:lisaaApurahatResponse">
83
+ </wsdl:output>
84
+ </wsdl:operation>
85
+ </wsdl:portType>
86
+ <wsdl:binding type="tns:ApurahanSyotto" name="ApurahanSyottoSoapBinding">
87
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
88
+ <wsdl:operation name="lisaaApurahat">
89
+ <soap:operation style="document" soapAction="http://palvelurajapinta.mela.fi/WebService/lisaaApurahat" />
90
+ <wsdl:input name="lisaaApurahat">
91
+ <soap:body use="literal" />
92
+ </wsdl:input>
93
+ <wsdl:output name="lisaaApurahatResponse">
94
+ <soap:body use="literal" />
95
+ </wsdl:output>
96
+ </wsdl:operation>
97
+ </wsdl:binding>
98
+ <wsdl:service name="ApurahanSyotto">
99
+ <wsdl:port name="ApurahanSyottoImplPort" binding="tns:ApurahanSyottoSoapBinding">
100
+ <soap:address location="http://palvelurajapinta.mela.fi/Apurahailmoitukset/ApurahanSyotto"/>
101
+ </wsdl:port>
102
+ </wsdl:service>
103
+ </wsdl:definitions>
@@ -1,5 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require 'apralib'
3
+ require 'securerandom'
3
4
 
4
5
  module ApraService
5
6
 
@@ -9,10 +10,11 @@ module ApraService
9
10
  def get_client
10
11
  credentials = {}
11
12
  credentials_file = File.join(File.dirname(__FILE__), 'apra_credentials.yml')
12
- credentials = YAML.load(File.read(credentials_file)) if File.exists?(credentials_file)
13
+ credentials = YAML.load(File.read(credentials_file)) if File.exist?(credentials_file)
13
14
  user = credentials['user'] || ENV['APRA_USER']
14
15
  password = credentials['password'] || ENV['APRA_PASSWORD']
15
- Client.new(user, password)
16
+ proxy = credentials['proxy'] || ENV['PROXY_URL']
17
+ Client.new(user, password, proxy)
16
18
  end
17
19
 
18
20
 
@@ -20,7 +22,7 @@ module ApraService
20
22
 
21
23
  it 'should create a valid object' do
22
24
 
23
- service = Client.new('user','password')
25
+ service = Client.new('user', 'password')
24
26
  expect(service).not_to be_nil
25
27
 
26
28
  end
@@ -51,7 +53,11 @@ module ApraService
51
53
  notification.work_start_date = Date.today
52
54
  notification.work_end_date = Date.today >> 1
53
55
  notification1 = Notification.new
54
- notification1.grantee = grantee
56
+ grantee1 = Grantee.new
57
+ grantee1.first_names='Matti'
58
+ grantee1.last_name = 'Matelija'
59
+ grantee1.ssn = '111111-111C'
60
+ notification1.grantee = grantee1
55
61
  notification1.granted_to_group = false
56
62
  notification1.expense_amount = 0
57
63
  notification1.amount = 10000
@@ -67,9 +73,11 @@ module ApraService
67
73
  response = service.send_notifications([notification, notification1])
68
74
  expect(response).not_to be_nil
69
75
  failed_notifications = response.failed_notifications
76
+ puts(failed_notifications)
70
77
  expect(failed_notifications).not_to be_nil
71
78
  expect(failed_notifications).to be_a Array
72
79
  expect(failed_notifications.count).to eq(1)
80
+
73
81
  notification_response = failed_notifications[0]
74
82
  expect(notification_response.error).not_to be_nil
75
83
  expect(notification_response.notification.reference).to eq(notification.reference)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apralib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Sandrini
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-02 00:00:00.000000000 Z
11
+ date: 2021-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.3'
19
+ version: '2.1'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.3'
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 13.0.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: '0'
40
+ version: 13.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 3.1.0
47
+ version: 3.10.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 3.1.0
54
+ version: 3.10.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: yard
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 2.3.0
75
+ version: 2.12.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 2.3.0
82
+ version: 2.12.0
83
83
  description: A Ruby client for the Apra Service
84
84
  email:
85
85
  - nessche@gmail.com
@@ -88,6 +88,8 @@ extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
90
  - ".gitignore"
91
+ - ".rubocop.yml"
92
+ - ".ruby-version"
91
93
  - ".travis.yml"
92
94
  - Gemfile
93
95
  - LICENSE.txt
@@ -101,6 +103,7 @@ files:
101
103
  - lib/apralib/notification_response.rb
102
104
  - lib/apralib/response.rb
103
105
  - lib/apralib/version.rb
106
+ - lib/wsdl/ApurahanSyotto.wsdl
104
107
  - spec/lib/apra_service_spec.rb
105
108
  - spec/lib/grantee_spec.rb
106
109
  - spec/spec_helper.rb
@@ -116,15 +119,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
116
119
  requirements:
117
120
  - - ">="
118
121
  - !ruby/object:Gem::Version
119
- version: '0'
122
+ version: 2.4.0
120
123
  required_rubygems_version: !ruby/object:Gem::Requirement
121
124
  requirements:
122
125
  - - ">="
123
126
  - !ruby/object:Gem::Version
124
127
  version: '0'
125
128
  requirements: []
126
- rubyforge_project:
127
- rubygems_version: 2.2.2
129
+ rubygems_version: 3.0.8
128
130
  signing_key:
129
131
  specification_version: 4
130
132
  summary: A Ruby library to submit documents to the Apra Service run by Maatalousyrittäjien
@@ -133,4 +135,3 @@ test_files:
133
135
  - spec/lib/apra_service_spec.rb
134
136
  - spec/lib/grantee_spec.rb
135
137
  - spec/spec_helper.rb
136
- has_rdoc: