rixml 0.5.0 → 0.5.1

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
2
  SHA1:
3
- metadata.gz: ef1a6d79daadb500b55c10fcb4e88efa1449ddd2
4
- data.tar.gz: 13963adef0e74d8e131f3ea7ceb2d73134f8ff07
3
+ metadata.gz: 1da25921dac5b181aad46028b7e4889fe1d311e7
4
+ data.tar.gz: 4775dba159ca311065893820f5ec52217ff28ccc
5
5
  SHA512:
6
- metadata.gz: 79fc5901cb630c28b1e557d4d79a32dbf4511e460e71f48d70ae5688c767b2c91c9df5c43b4892312e2fb37dd6522c5b8b05e1ec72a042e09ce04112555ebfb8
7
- data.tar.gz: 967df4ef556a4795cca31207ce1d0431b2ff1c6ad7dae788711c9e24f0d6013429e6661dd050c943bdc6a9a12c28c81862b2e042b0d2ee51884d38472280e15b
6
+ metadata.gz: 4381e273cb84d0e736d23d839049f7b9cd96cd26bf3fb74d1ab40bf4df31b289c4eeafa5b0038febf5e9fcf3e55309cdaa39c7b3572f15dd317a2a5e5e5dff62
7
+ data.tar.gz: c76604c75f55c8ff5c6a3fb6590c1587d6cf337729221e2e1b66a3e508ab3982f845577dd2172deb6163ef1dc076a75b6e7c2857c2293c8b24ae77dc7edb6f7f
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './phone'
5
+ require_relative './rixml_type/normalized_string'
6
+
7
+ module RixmlDocument
8
+ class Contact < Node
9
+ include HappyMapper
10
+ tag 'ContactInfo'
11
+
12
+ attribute :nature, RixmlType::NormalizedString, tag: 'nature'
13
+
14
+ has_many :emails, String, tag: 'Email'
15
+ has_many :phones, Phone, tag: 'Phone'
16
+ end
17
+ end
@@ -2,6 +2,8 @@
2
2
  require 'happymapper'
3
3
  require_relative './node'
4
4
  require_relative './issuer'
5
+ require_relative './product_details'
6
+ require_relative './product_classifications'
5
7
  require_relative './rixml_type/yes_no_boolean'
6
8
 
7
9
  module RixmlDocument
@@ -16,6 +18,8 @@ module RixmlDocument
16
18
  tag 'Context'
17
19
 
18
20
  has_one :issuer_details, IssuerDetails, xpath: './'
21
+ has_one :product_details, ProductDetails, xpath: './'
22
+ has_one :product_classifications, ProductClassifications, xpath: './'
19
23
 
20
24
  attribute :external, RixmlType::YesNoBoolean
21
25
 
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './rixml_type/upcase_string'
5
+ require_relative './rixml_type/yes_no_boolean'
6
+
7
+ module RixmlDocument
8
+ class Country < Node
9
+ include HappyMapper
10
+ tag 'Country'
11
+
12
+ attribute :primary_indicator, RixmlType::YesNoBoolean, tag: 'primaryIndicator'
13
+ attribute :code, RixmlType::UpcaseString, tag: 'code'
14
+ end
15
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './organization_id'
5
+ require_relative './person_group_member'
6
+ require_relative './rixml_type/yes_no_boolean'
7
+
8
+ module RixmlDocument
9
+ class PersonGroup < Node
10
+ include HappyMapper
11
+ tag 'PersonGroup'
12
+ has_many :person_group_members, PersonGroupMember, tag: 'PersonGroupMember', xpath: './'
13
+
14
+ def persons
15
+ person_group_members.map(&:person)
16
+ end
17
+ end
18
+
19
+ class Organization < Node
20
+ include HappyMapper
21
+ tag 'Organization'
22
+
23
+ has_many :organization_ids, OrganizationId, tag: 'OrganizationID', xpath: './'
24
+ has_many :person_groups, PersonGroup, tag: 'PersonGroup', xpath: './'
25
+
26
+ attribute :primary_indicator, RixmlType::YesNoBoolean, tag: 'primaryIndicator'
27
+ attribute :type, String, tag: 'type'
28
+
29
+ element :organization_name, String, tag: 'OrganizationName'
30
+ end
31
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './rixml_type/normalized_string'
5
+
6
+ module RixmlDocument
7
+ class OrganizationId < Node
8
+ include HappyMapper
9
+ tag 'OrganizationId'
10
+
11
+ attribute :id_type, RixmlType::NormalizedString, tag: 'idType'
12
+ end
13
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './contact'
5
+
6
+ module RixmlDocument
7
+ class Person < Node
8
+ include HappyMapper
9
+ tag 'Person'
10
+
11
+ has_many :contacts, Contact, tag: 'ContactInfo', xpath: './'
12
+
13
+ attribute :person_id, String, tag: 'personID'
14
+
15
+ element :family_name, String, tag: 'FamilyName'
16
+ element :given_name, String, tag: 'GivenName'
17
+ element :middle_name, String, tag: 'MiddleName'
18
+ element :display_name, String, tag: 'DisplayName'
19
+ element :job_title, String, tag: 'JobTitle'
20
+ end
21
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './person'
5
+ require_relative './rixml_type/normalized_string'
6
+ require_relative './rixml_type/yes_no_boolean'
7
+
8
+ module RixmlDocument
9
+ class PersonGroupMember < Node
10
+ include HappyMapper
11
+ tag 'PersonGroupMember'
12
+
13
+ has_one :person, Person, tag: 'Person', xpath: './'
14
+
15
+ attribute :role, RixmlType::NormalizedString, tag: 'role'
16
+ attribute :primary_indicator, RixmlType::YesNoBoolean, tag: 'primaryIndicator'
17
+ end
18
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './rixml_type/normalized_string'
5
+
6
+ module RixmlDocument
7
+ class Phone < Node
8
+ include HappyMapper
9
+ tag 'Phone'
10
+
11
+ attribute :type, RixmlType::NormalizedString, tag: 'type'
12
+ attribute :location, RixmlType::NormalizedString, tag: 'location'
13
+
14
+ element :country_code, String, tag: 'CountryCode'
15
+ element :number, String, tag: 'Number'
16
+
17
+ def phone_number
18
+ [country_code, number].join(' ')
19
+ end
20
+ end
21
+ end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  require 'happymapper'
3
3
  require_relative './node'
4
+ require_relative './source'
4
5
  require_relative './context'
5
6
  require_relative './rixml_type/yes_no_boolean'
6
7
 
@@ -9,6 +10,7 @@ module RixmlDocument
9
10
  include HappyMapper
10
11
  tag 'Product'
11
12
 
13
+ has_one :source, Source, tag: 'Source', xpath: './'
12
14
  has_one :context, Context, tag: 'Context', xpath: './'
13
15
 
14
16
  attribute :product_id, String, tag: 'productID'
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './rixml_type/normalized_string'
5
+
6
+ module RixmlDocument
7
+ class ProductCategory < Node
8
+ include HappyMapper
9
+ tag 'ProductCategory'
10
+
11
+ attribute :product_category, RixmlType::NormalizedString, tag: 'productCategory'
12
+ attribute :publisher_defined_value, String, tag: 'publisherDefinedValue'
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './asset_class'
5
+ require_relative './country'
6
+
7
+ module RixmlDocument
8
+ class ProductClassifications < Node
9
+ include HappyMapper
10
+ tag 'ProductClassifications'
11
+
12
+ has_many :asset_classes, AssetClass, tag: 'AssetClass', xpath: './'
13
+ has_many :countries, Country, tag: 'Country', xpath: './'
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './product_category'
5
+ require_relative './rixml_type/yes_no_boolean'
6
+
7
+ module RixmlDocument
8
+ class ProductDetails < Node
9
+ include HappyMapper
10
+ tag 'ProductDetails'
11
+
12
+ has_one :product_category, ProductCategory, xpath: './'
13
+
14
+ attribute :publication_date_time, Time, tag: 'publicationDateTime'
15
+ attribute :periodical_indicator, RixmlType::YesNoBoolean, tag: 'periodicalIndicator'
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ require 'happymapper'
3
+ require_relative './node'
4
+ require_relative './organization'
5
+
6
+ module RixmlDocument
7
+ class Source < Node
8
+ include HappyMapper
9
+ tag 'Source'
10
+
11
+ has_many :organizations, Organization, tag: 'Organization', xpath: './'
12
+ end
13
+ end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
  Gem::Specification.new do |s|
3
3
  s.name = 'rixml'
4
- s.version = '0.5.0'
5
- s.date = '2017-10-06'
4
+ s.version = '0.5.1'
5
+ s.date = '2017-10-10'
6
6
  s.summary = 'RIXML Parser'
7
7
  s.description = 'Parse RIXML files'
8
8
  s.homepage = 'https://github.com/AlphaExchange/rixml'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rixml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Correia Santos
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-10-06 00:00:00.000000000 Z
12
+ date: 2017-10-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -156,10 +156,20 @@ files:
156
156
  - lib/rixml.rb
157
157
  - lib/rixml_document.rb
158
158
  - lib/rixml_document/asset_class.rb
159
+ - lib/rixml_document/contact.rb
159
160
  - lib/rixml_document/context.rb
161
+ - lib/rixml_document/country.rb
160
162
  - lib/rixml_document/issuer.rb
161
163
  - lib/rixml_document/node.rb
164
+ - lib/rixml_document/organization.rb
165
+ - lib/rixml_document/organization_id.rb
166
+ - lib/rixml_document/person.rb
167
+ - lib/rixml_document/person_group_member.rb
168
+ - lib/rixml_document/phone.rb
162
169
  - lib/rixml_document/product.rb
170
+ - lib/rixml_document/product_category.rb
171
+ - lib/rixml_document/product_classifications.rb
172
+ - lib/rixml_document/product_details.rb
163
173
  - lib/rixml_document/research.rb
164
174
  - lib/rixml_document/rixml_type/normalized_string.rb
165
175
  - lib/rixml_document/rixml_type/upcase_string.rb
@@ -167,6 +177,7 @@ files:
167
177
  - lib/rixml_document/security.rb
168
178
  - lib/rixml_document/security_id.rb
169
179
  - lib/rixml_document/security_type.rb
180
+ - lib/rixml_document/source.rb
170
181
  - release
171
182
  - rixml.gemspec
172
183
  homepage: https://github.com/AlphaExchange/rixml