aptible-rails 0.4.1 → 0.4.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: 45a7c85ce7aea054afe54471d67fcba384a75bae
4
- data.tar.gz: 361ec91758e1369634a61eaab887d82158864160
3
+ metadata.gz: e4b387a12fd3623b942f5caa65f9df7e061c98f6
4
+ data.tar.gz: 90f95008ab67a47700b17d655d6b86b90e8b2580
5
5
  SHA512:
6
- metadata.gz: cddca811b6326594437c90034c61600c6a09d3babaf8427f8c423c30edc232becb617fce42f87f0ba620add48a719169eb5c123f833e5528c6f1400b851c8062
7
- data.tar.gz: ff347784d22767ddff866033e36ec004088c0290506b8d6027dd3f8c64dd190e5f10aa49657a1298691272b19a67887351fd0e052c375f667993d2e23f7bf488
6
+ metadata.gz: 870258ca060a118934f95043a983b638a4ed394a9190600856bf4c19677e04ff5e119858ad32faadc899e3aee42ba892a9e1f87893a2df0f194329ff61c5b234
7
+ data.tar.gz: 0d6af057020b11a28d4a0ebc6c5c812df00f5c760d20dda31070a18d78f25ac004ba48fdc9700a25004d9fea1b04069a9dfb0c443c9f87a3d10fb3e68e16cd31
@@ -22,7 +22,10 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency 'gem_config'
23
23
  spec.add_dependency 'aptible-auth', '>= 0.5.0'
24
24
  spec.add_dependency 'aptible-api', '>= 0.5.0'
25
+ spec.add_dependency 'aptible-gridiron'
25
26
  spec.add_dependency 'fridge'
27
+ spec.add_dependency 'draper'
28
+ spec.add_dependency 'garner'
26
29
 
27
30
  spec.add_development_dependency 'bundler', '~> 1.3'
28
31
  spec.add_development_dependency 'aptible-tasks'
@@ -0,0 +1,9 @@
1
+ module Aptible
2
+ module Rails
3
+ module ArrayExtensions
4
+ def decorate
5
+ map(&:decorate)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -8,7 +8,7 @@ module Aptible
8
8
 
9
9
  included do
10
10
  helper_method :current_user, :current_organization, :user_url,
11
- :organization_url
11
+ :organization_url, :criterion_by_handle
12
12
  end
13
13
 
14
14
  def current_user
@@ -96,6 +96,14 @@ module Aptible
96
96
  def user_url(id = current_user.id)
97
97
  "#{dashboard_url}/users/#{id}"
98
98
  end
99
+
100
+ def criterion_by_handle(handle)
101
+ Aptible::Gridiron::Criterion.where(
102
+ handle: handle.to_s,
103
+ token: service_token,
104
+ organization: current_organization
105
+ ).first
106
+ end
99
107
  end
100
108
  end
101
109
  end
@@ -0,0 +1,7 @@
1
+ require 'garner'
2
+
3
+ class ApplicationDecorator < Draper::Decorator
4
+ include Garner::Cache::Context
5
+
6
+ delegate_all
7
+ end
@@ -0,0 +1,31 @@
1
+ class CriterionDecorator < ApplicationDecorator
2
+ def self.overall_status(criteria)
3
+ return 'red' if criteria.any? { |c| c.status == 'red' }
4
+ return 'yellow' if criteria.any? { |c| c.status == 'yellow' }
5
+ 'green'
6
+ end
7
+
8
+ def self.status_description(status)
9
+ case status
10
+ when 'red' then 'Not Compliant'
11
+ when 'green' then 'Compliant'
12
+ when 'yellow' then 'Needs Review'
13
+ end
14
+ end
15
+
16
+ def status_description
17
+ self.class.status_description(object.status)
18
+ end
19
+
20
+ def update_summary
21
+ if current_document
22
+ "Updated #{h.time_ago_in_words(current_document.created_at)} ago"
23
+ else
24
+ 'Never updated'
25
+ end
26
+ end
27
+
28
+ def current_document
29
+ documents.first
30
+ end
31
+ end
@@ -0,0 +1,10 @@
1
+ module Aptible
2
+ module Rails
3
+ module DraperExtensions
4
+ def decorate
5
+ klass = self.class.name.split('::').last
6
+ "#{klass}Decorator".constantize.decorate(self)
7
+ end
8
+ end
9
+ end
10
+ end
@@ -1,10 +1,20 @@
1
1
  require 'aptible/rails/controller'
2
2
  require 'aptible/rails/url_helper'
3
3
  require 'aptible/rails/view_helper'
4
+ require 'aptible/rails/array_extensions'
5
+ require 'aptible/rails/draper_extensions'
6
+
7
+ require 'draper'
8
+ Dir[File.expand_path('../decorators/*.rb', __FILE__)].each { |f| require f }
4
9
 
5
10
  module Aptible
6
11
  module Rails
7
12
  class Railtie < ::Rails::Railtie
13
+ initializer 'aptible.rails.draper' do
14
+ Array.send :include, Aptible::Rails::ArrayExtensions
15
+ Aptible::Resource::Base.send :include, Aptible::Rails::DraperExtensions
16
+ end
17
+
8
18
  initializer 'aptible.rails.controller' do
9
19
  ActionController::Base.send :include, Aptible::Rails::Controller
10
20
  end
@@ -1,5 +1,5 @@
1
1
  module Aptible
2
2
  module Rails
3
- VERSION = '0.4.1'
3
+ VERSION = '0.4.2'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aptible-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frank Macreery
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-20 00:00:00.000000000 Z
11
+ date: 2014-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_config
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.5.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: aptible-gridiron
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: fridge
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +80,34 @@ dependencies:
66
80
  - - '>='
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: draper
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: garner
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: bundler
71
113
  requirement: !ruby/object:Gem::Requirement
@@ -138,7 +180,11 @@ files:
138
180
  - Rakefile
139
181
  - aptible-rails.gemspec
140
182
  - lib/aptible/rails.rb
183
+ - lib/aptible/rails/array_extensions.rb
141
184
  - lib/aptible/rails/controller.rb
185
+ - lib/aptible/rails/decorators/application_decorator.rb
186
+ - lib/aptible/rails/decorators/criterion_decorator.rb
187
+ - lib/aptible/rails/draper_extensions.rb
142
188
  - lib/aptible/rails/railtie.rb
143
189
  - lib/aptible/rails/url_helper.rb
144
190
  - lib/aptible/rails/version.rb