lita-spendo 0.3.0 → 0.4.0

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: bc4b4aeb89372358c7c9cf749bb1100460133b65
4
- data.tar.gz: f35e2fc01077fc05be824d154207c8bbe7bb710e
3
+ metadata.gz: e2bedaaf4a9503e10fe4eeaf27b86ad18f3f91fa
4
+ data.tar.gz: 4ab535ee09e7ee7024d6cd2e8e720b9bc00075a9
5
5
  SHA512:
6
- metadata.gz: a8f027a73e88ef7a89ae731e79e21c216e384c1c8d4ad51c93b6b63fdc74660afbe8a5f548e203531702392cf3d4d1642acb90f240bb75bb500194392bac5072
7
- data.tar.gz: 7079d9d39d5486cf7715a4bf32e0846239259319aa6f8f03745bc56fa7bbf7025af0741e99e34d861e75ed9751074d15b1a10db349a55e27079cbc668c86c5b9
6
+ metadata.gz: 94d54fa86def758243f2898c2aa4ced26103b5dfea46018ed72460220b425652bedda668beb48c1f2f72ee0bf9fa474638bf076ec0ca721e2677bc66c68f3567
7
+ data.tar.gz: 14aba49b5bb34ec4d1c7640e5363436067dca484cf80adc9e9d365b27bfb6cd52934b257619e2c0c4da4ea31bbc75320a3fe4cffff1754d36863c3576d9bb8e6
data/README.md CHANGED
@@ -21,13 +21,13 @@ Spendo relies on the aws-sdk gem so it requires an AWS account. The account requ
21
21
 
22
22
  ``` ruby
23
23
  {
24
- nickname: 'foo',
25
- aws_account_id: ENV['AWS_ACCOUNT_ID'],
26
- aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'],
27
- aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
28
- aws_region: 'us-east-1',
29
- room: 'shell', # or room JID or whatever
30
- dynamodb_table: 'BillingHistory'
24
+ 'nickname' => 'foo',
25
+ 'aws_account_id' => ENV['AWS_ACCOUNT_ID'],
26
+ 'aws_access_key_id' => ENV['AWS_ACCESS_KEY_ID'],
27
+ 'aws_secret_access_key' => ENV['AWS_SECRET_ACCESS_KEY'],
28
+ 'aws_region' => 'us-east-1',
29
+ 'room' => 'shell', # or room JID or whatever
30
+ 'dynamodb_table' => 'BillingHistory'
31
31
  }
32
32
  ```
33
33
 
@@ -7,11 +7,11 @@ module Lita
7
7
  attr_accessor :account, :table_name
8
8
 
9
9
  def initialize(params={})
10
- @aws_access_key_id = params[:aws_access_key_id]
11
- @aws_secret_access_key = params[:aws_secret_access_key]
12
- @aws_region = params[:aws_region]
13
- @account = params[:aws_account_id]
14
- @table_name = params[:dynamodb_table]
10
+ @aws_access_key_id = params['aws_access_key_id']
11
+ @aws_secret_access_key = params['aws_secret_access_key']
12
+ @aws_region = params['aws_region']
13
+ @account = params['aws_account_id']
14
+ @table_name = params['dynamodb_table']
15
15
  end
16
16
 
17
17
  def latest
@@ -39,12 +39,12 @@ module Lita
39
39
  # account to monitor.
40
40
  # config.accounts = [
41
41
  # {
42
- # :aws_account_id = 'foo',
43
- # :dynamodb_table = 'BillingHistory',
44
- # :room = 'shell',
45
- # :aws_access_key_id = 'foo',
46
- # :aws_secret_access_key = 'foo',
47
- # :nickname = 'foo'
42
+ # 'aws_account_id' => 'foo',
43
+ # 'dynamodb_table' => 'BillingHistory',
44
+ # 'room' => 'shell',
45
+ # 'aws_access_key_id' => 'foo',
46
+ # 'aws_secret_access_key' => 'foo',
47
+ # 'nickname' => 'foo'
48
48
  # }
49
49
  # ]
50
50
  config :accounts, type: Array
@@ -60,8 +60,8 @@ module Lita
60
60
  end
61
61
 
62
62
  def setup(account)
63
- if account[:room]
64
- robot.join account[:room]
63
+ if account['room']
64
+ robot.join account['room']
65
65
  end
66
66
 
67
67
  every(config.time_between_polls) do |timer|
@@ -79,19 +79,13 @@ module Lita
79
79
  end
80
80
 
81
81
  def create_client(account)
82
- params = {
83
- aws_account_id: account[:aws_account_id],
84
- aws_region: account[:aws_region],
85
- dynamodb_table: account[:dynamodb_table],
86
- aws_access_key_id: account[:aws_access_key_id],
87
- aws_secret_access_key: account[:aws_secret_access_key]
88
- }
82
+ params = account.dup
89
83
 
90
84
  BillingHistory.new(params)
91
85
  end
92
86
 
93
87
  def lookup_account(nickname)
94
- config.accounts.select {|a| a[:nickname] == nickname }.first
88
+ config.accounts.select {|a| a['nickname'] == nickname }.first
95
89
  end
96
90
 
97
91
  def create_message(account)
@@ -104,7 +98,7 @@ module Lita
104
98
  alert_level = data['AlertLevel'].to_i
105
99
  categorized_fees = data['FeesByCategory']
106
100
 
107
- message = "The current fees alert threshold has been reached.\n"
101
+ message = "/code The current fees alert threshold has been reached.\n"
108
102
  message << "\nAccount: #{account[:nickname]} #{account_id}"
109
103
  message << "\nCurrent fees: $#{current_fees}"
110
104
  message << "\nExpected monthly fees: $#{expected_fees}" # TODO
@@ -112,9 +106,11 @@ module Lita
112
106
  message << "\n\n Fee Category Breakdown\n\n"
113
107
 
114
108
  categorized_fees.keys.sort.each do |k|
109
+ category = k.strip.ljust(20)
115
110
  value = categorized_fees[k].to_f
116
111
  next if value == 0.0
117
- message << "#{k.ljust(20)}: $#{sprintf('%8.2f', value.round(2))}\n"
112
+ amount = sprintf('%8.2f', value.round(2))
113
+ message << "#{category}: $#{amount}\n"
118
114
  end
119
115
 
120
116
  url = config.base_image_url + "/#{alert_level}.jpg"
@@ -155,7 +151,7 @@ module Lita
155
151
 
156
152
  if last_data && alert_level_changed?(last_data, current_data)
157
153
  message, url = create_message account
158
- target = Source.new(room: account[:room])
154
+ target = Source.new(room: account['room'])
159
155
  robot.send_messages(target, message, url)
160
156
  else
161
157
  log.debug "alert level unchanged"
data/lita-spendo.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "lita-spendo"
3
- spec.version = "0.3.0"
3
+ spec.version = "0.4.0"
4
4
  spec.authors = ["Chris Chalfant"]
5
5
  spec.email = ["cchalfant@leafsoftwaresolutions.com"]
6
6
  spec.description = "Lita handler for displaying AWS billing"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-spendo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Chalfant
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-18 00:00:00.000000000 Z
11
+ date: 2015-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita