billit_representers 0.7.2 → 0.8.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
2
  SHA1:
3
- metadata.gz: eafc85f3823b66a8f908f1294ba7b07a5953b94f
4
- data.tar.gz: 2a9c1baff088672b8bd8c4c6405eb495300b1daa
3
+ metadata.gz: 6fc7d8f69f01b357685800b225478604c7945ae0
4
+ data.tar.gz: 8f53902c34deebeb0a3ec1aacc12443a29431371
5
5
  SHA512:
6
- metadata.gz: 197348e58f9d3471a48f44ba99ec1a3fab74e15ba5593af79eed8d66052a833ff652f02f08d1b0c5c4cb292bccfdb8a025df144f75017ee83b0ccf5776b10027
7
- data.tar.gz: 38cdcb1a304987f52a82b5c840f677943748306faa958437d6e23dce837e3967c4c3d77b669b1606d127baa7aa647b0ce4272994f90fadfc68ee92c09b345f74
6
+ metadata.gz: 23e962508bb51c8e0100116a4c6a678b7c34137fb718a09d447acbdd035bf73e9324b9e59821845000a3e1e9f308edb3c1039580074cde3c405a73a5efab548f
7
+ data.tar.gz: 4e3d270040e40417b74ac19fe35ab70d76ab6f29fe5e4d6764c6f6a8bce10b7cb6dd398198a81b4d5e5fc878369e7cbc0a4949e783a8d1c0451a842fedf7e464
data/README.md CHANGED
@@ -25,6 +25,16 @@ class Bill
25
25
  include Billit::BillRepresenter
26
26
  end
27
27
  ```
28
+ Some bill attributes require their own models to be created. In this particular bill model these are:
29
+ - Directive
30
+ - Document
31
+ - Paperwork
32
+ - Priority
33
+ - Remark
34
+ - Report
35
+ ##Using models included in the representer
36
+ This is the preferred option if bill information is fetched and no persistence is needed.
37
+ TO DO
28
38
  ##Validations
29
39
  Bills require some attributes to exist or to have restricted values.
30
40
  ```
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |gem|
2
2
  gem.name = 'billit_representers'
3
- gem.version = '0.7.2'
4
- gem.date = '2013-12-30'
3
+ gem.version = '0.8.0'
4
+ gem.date = '2014-01-14'
5
5
  gem.summary = "Representers for the bill-it module of the Poplus project."
6
6
  gem.description = "Representers for the bill-it module of the Poplus project. These provide object-like access to remote data, using Resource-Oriented Architectures in Ruby (ROAR)."
7
7
  gem.authors = ["Marcel Augsburger"]
@@ -11,6 +11,7 @@ Gem::Specification.new do |gem|
11
11
 
12
12
  gem.files = `git ls-files`.split("\n")
13
13
 
14
+ # gem.add_runtime_dependency "roar", "0.12.2"
14
15
  gem.add_runtime_dependency "roar", "0.11.19"
15
16
  gem.add_runtime_dependency "roar-rails", "0.1.0"
16
17
  gem.add_runtime_dependency "activemodel"
@@ -0,0 +1,140 @@
1
+ require 'roar/representer'
2
+ require 'roar/representer/feature/http_verbs'
3
+ require 'roar/representer/feature/client'
4
+ require 'roar/representer/json'
5
+ require 'roar/representer/json/hal'
6
+ # require 'roar/rails/hal'
7
+ require 'active_model'
8
+ require 'billit_representers/representers/paperwork_representer'
9
+ require 'billit_representers/representers/priority_representer'
10
+ require 'billit_representers/representers/report_representer'
11
+ require 'billit_representers/representers/document_representer'
12
+ require 'billit_representers/representers/directive_representer'
13
+ require 'billit_representers/representers/remark_representer'
14
+ require 'billit_representers/models/paperwork'
15
+ require 'billit_representers/models/priority'
16
+ require 'billit_representers/models/report'
17
+ require 'billit_representers/models/document'
18
+ require 'billit_representers/models/directive'
19
+ require 'billit_representers/models/remark'
20
+
21
+ module Billit
22
+ class Bill
23
+ include Roar::Representer::JSON::HAL
24
+ include Roar::Representer::Feature::HttpVerbs
25
+ include ActiveModel::Validations
26
+ # include Roar::Rails::HAL
27
+ # include Roar::Representer::JSON
28
+
29
+ # validates_presence_of :uid
30
+ # validates :subject_areas, inclusion: { in: @@subject_areas_valid_values }
31
+ # validates :stage, inclusion: { in: @@stage_valid_values }
32
+ # validates :initial_chamber, inclusion: { in: @@initial_chamber_valid_values }
33
+ # validates :current_priority, inclusion: { in: @@current_priority_valid_values }
34
+
35
+ def initialize
36
+ # extend Billit::BillRepresenter
37
+ extend Roar::Representer::Feature::Client
38
+ super
39
+ end
40
+
41
+ property :uid
42
+ property :title
43
+ property :creation_date
44
+ property :source
45
+ property :initial_chamber
46
+ property :current_priority
47
+ property :stage
48
+ property :sub_stage
49
+ property :status
50
+ property :resulting_document
51
+ property :law_link
52
+ property :merged_bills
53
+ property :subject_areas
54
+ property :authors
55
+ property :publish_date
56
+ property :abstract
57
+ property :tags
58
+ property :revisions
59
+
60
+ collection :paperworks, extend: PaperworkRepresenter, class: Billit::Paperwork
61
+ collection :priorities, extend: PriorityRepresenter, class: Billit::Priority
62
+ collection :reports, extend: ReportRepresenter, class: Billit::Report
63
+ collection :documents, extend: DocumentRepresenter, class: Billit::Document
64
+ collection :directives, extend: DirectiveRepresenter, class: Billit::Directive
65
+ collection :remarks, extend: RemarkRepresenter, class: Billit::Remark
66
+
67
+ link :self do
68
+ bill_url(self.uid)
69
+ end
70
+
71
+ @@subject_areas_valid_values =
72
+ [
73
+ 'Defensa',
74
+ 'Impuestos',
75
+ 'Economía',
76
+ 'Empresas',
77
+ 'Hacienda',
78
+ 'Relaciones Exteriores',
79
+ 'Administración',
80
+ 'Asunto Indígena',
81
+ 'Zona Extrema',
82
+ 'Regionalización',
83
+ 'Salud',
84
+ 'Minería',
85
+ 'Medio Ambiente',
86
+ 'Derechos Animales',
87
+ 'Vivienda',
88
+ 'Obras Públicas',
89
+ 'Transporte',
90
+ 'Telecomunicaciones',
91
+ 'Trabajo',
92
+ 'Protección Social',
93
+ 'Cultura',
94
+ 'Educación',
95
+ 'Deportes',
96
+ 'Transparencia',
97
+ 'Probidad',
98
+ 'Elecciones',
99
+ 'Participación',
100
+ 'Familia',
101
+ 'Seguridad',
102
+ 'Derechos Fundamentales',
103
+ 'Nacionalidad',
104
+ 'Reconstrucción Terremoto'
105
+ ]
106
+
107
+ @@stage_valid_values =
108
+ [
109
+ 'Archivado',
110
+ 'Comisión Mixta Ley de Presupuesto',
111
+ 'Comisión Mixta por rechazo de idea de legislar',
112
+ 'Comisión Mixta por rechazo de modificaciones',
113
+ 'Disc. informe C.Mixta por rechazo de modific. en C...',
114
+ 'Discusión veto en Cámara de Origen',
115
+ 'Discusión veto en Cámara Revisora',
116
+ 'Insistencia',
117
+ 'Primer trámite constitucional',
118
+ 'Retirado',
119
+ 'Segundo trámite constitucional',
120
+ 'Tercer trámite constitucional',
121
+ 'Tramitación terminada',
122
+ 'Trámite de aprobacion presidencial',
123
+ 'Trámite finalización en Cámara de Origen'
124
+ ]
125
+
126
+ @@initial_chamber_valid_values =
127
+ [
128
+ 'C.Diputados',
129
+ 'Senado'
130
+ ]
131
+
132
+ @@current_priority_valid_values =
133
+ [
134
+ 'Discusión inmediata',
135
+ 'Simple',
136
+ 'Sin urgencia',
137
+ 'Suma'
138
+ ]
139
+ end
140
+ end
@@ -0,0 +1,6 @@
1
+ require 'billit_representers/representers/directive_representer'
2
+ module Billit
3
+ class Directive
4
+ include Billit::DirectiveRepresenter
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ require 'billit_representers/representers/document_representer'
2
+ module Billit
3
+ class Document
4
+ include Billit::DocumentRepresenter
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ require 'billit_representers/representers/paperwork_representer'
2
+ module Billit
3
+ class Paperwork
4
+ include Billit::PaperworkRepresenter
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ require 'billit_representers/representers/priority_representer'
2
+ module Billit
3
+ class Priority
4
+ include Billit::PriorityRepresenter
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ require 'billit_representers/representers/remark_representer'
2
+ module Billit
3
+ class Remark
4
+ include Billit::RemarkRepresenter
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ require 'billit_representers/representers/report_representer'
2
+ module Billit
3
+ class Report
4
+ include Billit::ReportRepresenter
5
+ end
6
+ end
@@ -1,13 +1,22 @@
1
1
  require 'roar/representer'
2
2
  require 'roar/representer/feature/http_verbs'
3
3
  require 'roar/representer/feature/client'
4
+ # require 'roar/representer/json'
4
5
  require 'roar/representer/json/hal'
6
+ # require 'roar/rails/hal'
5
7
  require 'active_model'
6
8
  require 'billit_representers/representers/paperwork_representer'
9
+ require 'billit_representers/representers/priority_representer'
10
+ require 'billit_representers/representers/report_representer'
11
+ require 'billit_representers/representers/document_representer'
12
+ require 'billit_representers/representers/directive_representer'
13
+ require 'billit_representers/representers/remark_representer'
7
14
 
8
15
  module Billit
9
16
  module BillRepresenter
10
17
  include Roar::Representer::JSON::HAL
18
+ # include Roar::Rails::HAL
19
+ # include Roar::Representer::JSON
11
20
 
12
21
  module Initializer
13
22
  def initialize
@@ -45,14 +54,14 @@ module Billit
45
54
  property :publish_date
46
55
  property :abstract
47
56
  property :tags
48
-
49
- collection :paperworks, :extend => PaperworkRepresenter, :class => Paperwork
50
- property :priorities
51
- property :reports
52
57
  property :revisions
53
- property :documents
54
- property :directives
55
- property :remarks
58
+
59
+ collection :paperworks, extend: PaperworkRepresenter, class: Paperwork
60
+ collection :priorities, extend: PriorityRepresenter, class: Priority
61
+ collection :reports, extend: ReportRepresenter, class: Report
62
+ collection :documents, extend: DocumentRepresenter, class: Document
63
+ collection :directives, extend: DirectiveRepresenter, class: Directive
64
+ collection :remarks, extend: RemarkRepresenter, class: Remark
56
65
 
57
66
  link :self do
58
67
  bill_url(self.uid)
@@ -0,0 +1,31 @@
1
+ require 'roar/representer'
2
+ require 'roar/representer/feature/http_verbs'
3
+ require 'roar/representer/feature/client'
4
+ # require 'roar/representer/json'
5
+ # require 'roar/rails/hal'
6
+ require 'roar/representer/json/hal'
7
+
8
+ module Billit
9
+ module DirectiveRepresenter
10
+ include Roar::Representer::JSON::HAL
11
+ # include Roar::Representer::JSON
12
+
13
+ module Initializer
14
+ def initialize
15
+ extend Billit::DirectiveRepresenter
16
+ extend Roar::Representer::Feature::Client
17
+ super
18
+ end
19
+ end
20
+
21
+ def self.included(klass)
22
+ klass.send :prepend, Initializer
23
+ klass.send :include, Roar::Representer::Feature::HttpVerbs
24
+ end
25
+
26
+ property :date
27
+ property :step
28
+ property :stage
29
+
30
+ end
31
+ end
@@ -0,0 +1,35 @@
1
+ require 'roar/representer'
2
+ require 'roar/representer/feature/http_verbs'
3
+ require 'roar/representer/feature/client'
4
+ # require 'roar/representer/json'
5
+ # require 'roar/rails/hal'
6
+ require 'roar/representer/json/hal'
7
+
8
+ module Billit
9
+ module DocumentRepresenter
10
+ include Roar::Representer::JSON::HAL
11
+ # include Roar::Representer::JSON
12
+
13
+ module Initializer
14
+ def initialize
15
+ extend Billit::DocumentRepresenter
16
+ extend Roar::Representer::Feature::Client
17
+ super
18
+ end
19
+ end
20
+
21
+ def self.included(klass)
22
+ klass.send :prepend, Initializer
23
+ klass.send :include, Roar::Representer::Feature::HttpVerbs
24
+ end
25
+
26
+ property :number
27
+ property :date
28
+ property :step
29
+ property :stage
30
+ property :type
31
+ property :chamber
32
+ property :link
33
+
34
+ end
35
+ end
@@ -0,0 +1,16 @@
1
+ require 'roar/representer/json'
2
+ require 'billit_representers/representers/paperwork_representer'
3
+
4
+ module Billit
5
+ module PaperworkCollectionRepresenter
6
+ # include Roar::Representer
7
+ include Roar::Representer::JSON
8
+ include Roar::Representer::Feature::Hypermedia
9
+
10
+ collection :paperworks, :extend => PaperworkRepresenter, :class => Paperwork
11
+
12
+ def paperworks
13
+ collect
14
+ end
15
+ end
16
+ end
@@ -1,11 +1,14 @@
1
1
  require 'roar/representer'
2
2
  require 'roar/representer/feature/http_verbs'
3
3
  require 'roar/representer/feature/client'
4
+ # require 'roar/representer/json'
5
+ # require 'roar/rails/hal'
4
6
  require 'roar/representer/json/hal'
5
7
 
6
8
  module Billit
7
9
  module PaperworkRepresenter
8
10
  include Roar::Representer::JSON::HAL
11
+ # include Roar::Representer::JSON
9
12
 
10
13
  module Initializer
11
14
  def initialize
@@ -0,0 +1,35 @@
1
+ require 'roar/representer'
2
+ require 'roar/representer/feature/http_verbs'
3
+ require 'roar/representer/feature/client'
4
+ # require 'roar/representer/json'
5
+ # require 'roar/rails/hal'
6
+ require 'roar/representer/json/hal'
7
+
8
+ module Billit
9
+ module PriorityRepresenter
10
+ include Roar::Representer::JSON::HAL
11
+ # include Roar::Representer::JSON
12
+
13
+ module Initializer
14
+ def initialize
15
+ extend Billit::PriorityRepresenter
16
+ extend Roar::Representer::Feature::Client
17
+ super
18
+ end
19
+ end
20
+
21
+ def self.included(klass)
22
+ klass.send :prepend, Initializer
23
+ klass.send :include, Roar::Representer::Feature::HttpVerbs
24
+ end
25
+
26
+ property :type
27
+ property :entry_date
28
+ property :entry_message
29
+ property :entry_chamber
30
+ property :withdrawal_date
31
+ property :withdrawal_message
32
+ property :withdrawal_chamber
33
+
34
+ end
35
+ end
@@ -0,0 +1,31 @@
1
+ require 'roar/representer'
2
+ require 'roar/representer/feature/http_verbs'
3
+ require 'roar/representer/feature/client'
4
+ # require 'roar/representer/json'
5
+ # require 'roar/rails/hal'
6
+ require 'roar/representer/json/hal'
7
+
8
+ module Billit
9
+ module RemarkRepresenter
10
+ include Roar::Representer::JSON::HAL
11
+ # include Roar::Representer::JSON
12
+
13
+ module Initializer
14
+ def initialize
15
+ extend Billit::RemarkRepresenter
16
+ extend Roar::Representer::Feature::Client
17
+ super
18
+ end
19
+ end
20
+
21
+ def self.included(klass)
22
+ klass.send :prepend, Initializer
23
+ klass.send :include, Roar::Representer::Feature::HttpVerbs
24
+ end
25
+
26
+ property :date
27
+ property :event
28
+ property :stage
29
+
30
+ end
31
+ end
@@ -0,0 +1,32 @@
1
+ require 'roar/representer'
2
+ require 'roar/representer/feature/http_verbs'
3
+ require 'roar/representer/feature/client'
4
+ # require 'roar/representer/json'
5
+ # require 'roar/rails/hal'
6
+ require 'roar/representer/json/hal'
7
+
8
+ module Billit
9
+ module ReportRepresenter
10
+ include Roar::Representer::JSON::HAL
11
+ # include Roar::Representer::JSON
12
+
13
+ module Initializer
14
+ def initialize
15
+ extend Billit::ReportRepresenter
16
+ extend Roar::Representer::Feature::Client
17
+ super
18
+ end
19
+ end
20
+
21
+ def self.included(klass)
22
+ klass.send :prepend, Initializer
23
+ klass.send :include, Roar::Representer::Feature::HttpVerbs
24
+ end
25
+
26
+ property :date
27
+ property :step
28
+ property :stage
29
+ property :link
30
+
31
+ end
32
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: billit_representers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcel Augsburger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-30 00:00:00.000000000 Z
11
+ date: 2014-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: roar
@@ -65,10 +65,23 @@ files:
65
65
  - README.md
66
66
  - billit_representers.gemspec
67
67
  - lib/billit_representers.rb
68
+ - lib/billit_representers/models/bill.rb
69
+ - lib/billit_representers/models/directive.rb
70
+ - lib/billit_representers/models/document.rb
71
+ - lib/billit_representers/models/paperwork.rb
72
+ - lib/billit_representers/models/priority.rb
73
+ - lib/billit_representers/models/remark.rb
74
+ - lib/billit_representers/models/report.rb
68
75
  - lib/billit_representers/representers/bill_collection_page_representer.rb
69
76
  - lib/billit_representers/representers/bill_collection_representer.rb
70
77
  - lib/billit_representers/representers/bill_representer.rb
78
+ - lib/billit_representers/representers/directive_representer.rb
79
+ - lib/billit_representers/representers/document_representer.rb
80
+ - lib/billit_representers/representers/paperwork_collection_representer.rb
71
81
  - lib/billit_representers/representers/paperwork_representer.rb
82
+ - lib/billit_representers/representers/priority_representer.rb
83
+ - lib/billit_representers/representers/remark_representer.rb
84
+ - lib/billit_representers/representers/report_representer.rb
72
85
  - lib/billit_representers/representers/table_collection_page_representer.rb
73
86
  - lib/billit_representers/representers/table_collection_representer.rb
74
87
  - lib/billit_representers/representers/table_representer.rb