lita-circletime 0.1.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 +7 -0
- data/.gitignore +19 -0
- data/.travis.yml +8 -0
- data/Gemfile +3 -0
- data/README.md +40 -0
- data/Rakefile +6 -0
- data/lib/lita-circletime.rb +13 -0
- data/lib/lita/handlers/circletime.rb +40 -0
- data/lita-circletime.gemspec +25 -0
- data/locales/en.yml +4 -0
- data/spec/lita/handlers/circletime_spec.rb +16 -0
- data/spec/spec_helper.rb +6 -0
- data/templates/.gitkeep +0 -0
- metadata +157 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3f2aa3ee60d10a251479c0406e42d9d8529a0cc8
|
4
|
+
data.tar.gz: 43527604496188cd83d28002dc2ad9b0865710fd
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a792a928a020e1b13e04de47e9e0652fb74b567e849ecabc9e9f50203ee5bb0451ad9031f9c1bddf7b142349e3bd2a268b4ac64b61265c25dcfa9dc7aa344557
|
7
|
+
data.tar.gz: fce10f81c1b11070e95002982498eb63789027fb26e7a49e0864891370f85bee7aefab053c4105970c96fc184713e556fe935dc080eb4faf925a23208285b7c9
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# lita-circletime
|
2
|
+
|
3
|
+
[](https://travis-ci.org/yutakakinjyo/lita-circletime)
|
4
|
+
|
5
|
+
This gem let to share CircleCI's amount of build time to channel member by Lita.
|
6
|
+
Free plan of CircleCI limit is 1,500 min build time. So sometimes we want to know how many spend build time already.
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
Add lita-circletime to your Lita instance's Gemfile:
|
11
|
+
|
12
|
+
``` ruby
|
13
|
+
gem "lita-circletime"
|
14
|
+
```
|
15
|
+
|
16
|
+
## Configuration
|
17
|
+
|
18
|
+
Set your CircleCI access token to `.env` file like a following
|
19
|
+
|
20
|
+
.env
|
21
|
+
```
|
22
|
+
CIRCLE_CI_TOKEN='your access token'
|
23
|
+
```
|
24
|
+
|
25
|
+
or set token to environment valiable. Valiable name is same to `CIRCLE_CI_TOKEN`
|
26
|
+
|
27
|
+
## Usage
|
28
|
+
|
29
|
+
first step : set target organization name
|
30
|
+
|
31
|
+
```
|
32
|
+
org <organization name>
|
33
|
+
```
|
34
|
+
|
35
|
+
you can get build time
|
36
|
+
|
37
|
+
- `build today` get today's amount of build time
|
38
|
+
- `build yestaday` get yestaday's amount of build time
|
39
|
+
- `build week` get this week amount of build time
|
40
|
+
- `build month` get this month amount of build time
|
data/Rakefile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require "lita"
|
2
|
+
|
3
|
+
Lita.load_locales Dir[File.expand_path(
|
4
|
+
File.join("..", "..", "locales", "*.yml"), __FILE__
|
5
|
+
)]
|
6
|
+
|
7
|
+
require "lita/handlers/circletime"
|
8
|
+
require "circletime"
|
9
|
+
|
10
|
+
Lita::Handlers::Circletime.template_root File.expand_path(
|
11
|
+
File.join("..", "..", "templates"),
|
12
|
+
__FILE__
|
13
|
+
)
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Lita
|
2
|
+
module Handlers
|
3
|
+
class Circletime < Handler
|
4
|
+
|
5
|
+
route(/^build today$/, :today)
|
6
|
+
route(/^build yestaday$/, :yestaday)
|
7
|
+
route(/^build week$/, :week)
|
8
|
+
route(/^build month$/, :month)
|
9
|
+
route(/^org\s+(.+)/, :set)
|
10
|
+
|
11
|
+
def set(response)
|
12
|
+
org = response.match_data[1]
|
13
|
+
redis.set("org", org)
|
14
|
+
response.reply("set " + org + " to org name")
|
15
|
+
end
|
16
|
+
|
17
|
+
def today(response)
|
18
|
+
build_time = CircleTime::BuildTime.new(redis.get("org"))
|
19
|
+
response.reply("Today's build time is " + (build_time.today / 1000/ 60 ).to_s + " min")
|
20
|
+
end
|
21
|
+
|
22
|
+
def yestaday(response)
|
23
|
+
build_time = CircleTime::BuildTime.new(redis.get("org"))
|
24
|
+
response.reply("Yestaday's build time is " + (build_time.yestaday / 1000/ 60 ).to_s + " min")
|
25
|
+
end
|
26
|
+
|
27
|
+
def week(response)
|
28
|
+
build_time = CircleTime::BuildTime.new(redis.get("org"))
|
29
|
+
response.reply("This week's build time is " + (build_time.week / 1000/ 60 ).to_s + " min")
|
30
|
+
end
|
31
|
+
|
32
|
+
def month(response)
|
33
|
+
build_time = CircleTime::BuildTime.new(redis.get("org"))
|
34
|
+
response.reply("This month's build time is " + (build_time.month / 1000/ 60 ).to_s + " min")
|
35
|
+
end
|
36
|
+
|
37
|
+
Lita.register_handler(self)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "lita-circletime"
|
3
|
+
spec.version = "0.1.0"
|
4
|
+
spec.authors = ["yutakakinjyo"]
|
5
|
+
spec.email = ["yutakakinjyo@gmail.com"]
|
6
|
+
spec.description = spec.summary
|
7
|
+
spec.summary = "Get amount of build time from organization on CircleCI."
|
8
|
+
spec.homepage = "https://github.com/yutakakinjyo/lita-circletime"
|
9
|
+
spec.license = "MIT"
|
10
|
+
spec.metadata = { "lita_plugin_type" => "handler" }
|
11
|
+
|
12
|
+
spec.files = `git ls-files`.split($/)
|
13
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
14
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
15
|
+
spec.require_paths = ["lib"]
|
16
|
+
|
17
|
+
spec.add_runtime_dependency "lita", ">= 4.6"
|
18
|
+
spec.add_runtime_dependency "circletime"
|
19
|
+
|
20
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
21
|
+
spec.add_development_dependency "pry-byebug"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "rack-test"
|
24
|
+
spec.add_development_dependency "rspec", ">= 3.0.0"
|
25
|
+
end
|
data/locales/en.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Lita::Handlers::Circletime, lita_handler: true do
|
4
|
+
|
5
|
+
it { is_expected.to route("org orgname").to(:set) }
|
6
|
+
it { is_expected.to route("build today").to(:today) }
|
7
|
+
it { is_expected.to route("build yestaday").to(:yestaday) }
|
8
|
+
it { is_expected.to route("build week").to(:week) }
|
9
|
+
it { is_expected.to route("build month").to(:month) }
|
10
|
+
|
11
|
+
it "set" do
|
12
|
+
send_message("org yutakakinjyo")
|
13
|
+
expect(replies.last).to eq("set yutakakinjyo to org name")
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
data/spec/spec_helper.rb
ADDED
data/templates/.gitkeep
ADDED
File without changes
|
metadata
ADDED
@@ -0,0 +1,157 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lita-circletime
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- yutakakinjyo
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-12-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: lita
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.6'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.6'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: circletime
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry-byebug
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rack-test
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
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: rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 3.0.0
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 3.0.0
|
111
|
+
description: ''
|
112
|
+
email:
|
113
|
+
- yutakakinjyo@gmail.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".gitignore"
|
119
|
+
- ".travis.yml"
|
120
|
+
- Gemfile
|
121
|
+
- README.md
|
122
|
+
- Rakefile
|
123
|
+
- lib/lita-circletime.rb
|
124
|
+
- lib/lita/handlers/circletime.rb
|
125
|
+
- lita-circletime.gemspec
|
126
|
+
- locales/en.yml
|
127
|
+
- spec/lita/handlers/circletime_spec.rb
|
128
|
+
- spec/spec_helper.rb
|
129
|
+
- templates/.gitkeep
|
130
|
+
homepage: https://github.com/yutakakinjyo/lita-circletime
|
131
|
+
licenses:
|
132
|
+
- MIT
|
133
|
+
metadata:
|
134
|
+
lita_plugin_type: handler
|
135
|
+
post_install_message:
|
136
|
+
rdoc_options: []
|
137
|
+
require_paths:
|
138
|
+
- lib
|
139
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0'
|
144
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - ">="
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0'
|
149
|
+
requirements: []
|
150
|
+
rubyforge_project:
|
151
|
+
rubygems_version: 2.4.5.1
|
152
|
+
signing_key:
|
153
|
+
specification_version: 4
|
154
|
+
summary: Get amount of build time from organization on CircleCI.
|
155
|
+
test_files:
|
156
|
+
- spec/lita/handlers/circletime_spec.rb
|
157
|
+
- spec/spec_helper.rb
|