aptible-rails 0.4.1 → 0.4.2

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: 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