andyh-xttc 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/VERSION.yml +4 -0
  2. data/bin/xttc +5 -0
  3. data/lib/cli.rb +52 -0
  4. data/lib/xttc.rb +32 -0
  5. metadata +92 -0
@@ -0,0 +1,4 @@
1
+ ---
2
+ :minor: 1
3
+ :patch: 4
4
+ :major: 0
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
4
+ require 'xttc'
5
+ require 'cli'
@@ -0,0 +1,52 @@
1
+ gem 'main', '>= 2.8.2'
2
+ gem 'highline', '>= 1.4.0'
3
+ require 'main'
4
+ require 'highline/import'
5
+
6
+ HighLine.track_eof = false
7
+
8
+ def with_progress(message = nil, &work)
9
+ print "#{message}" if message
10
+ finished = false
11
+ progress_thread = Thread.new { until finished; print "."; $stdout.flush; sleep 0.5; end; }
12
+ work_thread = Thread.new(binding()) do |b|
13
+ work.call
14
+ finished = true
15
+ end
16
+ work_thread.join
17
+ progress_thread.join
18
+ say "\nDone!"
19
+ end
20
+
21
+ Main {
22
+
23
+ description "A command line bot for working with XTT, ENTP's rad time tracking app"
24
+
25
+ examples 'xttc status', 'xttc projects', 'xttc @projectcode status', 'xttc out'
26
+
27
+ def run
28
+ s = ARGV.size > 1 ? ARGV.join(" ") : ARGV.shift
29
+ help! if s.blank?
30
+ with_progress("Updating Status") do
31
+ status = Status.create(:code_and_message => s)
32
+ end
33
+ end
34
+
35
+ mode 'projects' do
36
+ description 'List all projects available, and their short code.'
37
+ def run
38
+ Project.find(:all).each do |p|
39
+ say "#{p.name}: @#{p.project_code}"
40
+ end
41
+ end
42
+ end
43
+
44
+ mode 'status' do
45
+ description 'List your current status'
46
+ def run
47
+ status = Status.find(:first)
48
+ say status.message
49
+ end
50
+ end
51
+
52
+ }
@@ -0,0 +1,32 @@
1
+ require 'yaml'
2
+
3
+ require 'rubygems'
4
+ require 'activesupport'
5
+ require 'activeresource'
6
+
7
+ begin
8
+ CONFIG = YAML.load(File.read(ENV['HOME'] + '/.xttc'))
9
+ rescue
10
+ puts """To use XTTC:\n
11
+ $ vi ~/.xttc
12
+ site: http://tt.example.com
13
+ username: foo
14
+ password: sekret
15
+
16
+ # secure this file
17
+ $ chmod 700 ~/.xttc
18
+ """
19
+ exit(1)
20
+ end
21
+
22
+ class Project < ActiveResource::Base
23
+ self.site = CONFIG["site"]
24
+ self.user = CONFIG["username"]
25
+ self.password = CONFIG["password"]
26
+ end
27
+
28
+ class Status < ActiveResource::Base
29
+ self.site = CONFIG["site"]
30
+ self.user = CONFIG["username"]
31
+ self.password = CONFIG["password"]
32
+ end
metadata ADDED
@@ -0,0 +1,92 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: andyh-xttc
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.4
5
+ platform: ruby
6
+ authors:
7
+ - Jesse Newland
8
+ - Andy Henson
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2009-01-18 00:00:00 -08:00
14
+ default_executable: xttc
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: activesupport
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "2.1"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: activeresource
27
+ version_requirement:
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.1.0
33
+ version:
34
+ - !ruby/object:Gem::Dependency
35
+ name: main
36
+ version_requirement:
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 2.8.2
42
+ version:
43
+ - !ruby/object:Gem::Dependency
44
+ name: highline
45
+ version_requirement:
46
+ version_requirements: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 1.4.0
51
+ version:
52
+ description: A command line bot for working with XTT, ENTP's rad time tracking app
53
+ email: andy@elaptics.co.uk
54
+ executables:
55
+ - xttc
56
+ extensions: []
57
+
58
+ extra_rdoc_files: []
59
+
60
+ files:
61
+ - VERSION.yml
62
+ - bin/xttc
63
+ - lib/cli.rb
64
+ - lib/xttc.rb
65
+ has_rdoc: false
66
+ homepage: http://github.com/andyh/xttc
67
+ post_install_message:
68
+ rdoc_options: []
69
+
70
+ require_paths:
71
+ - lib
72
+ required_ruby_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: "0"
77
+ version:
78
+ required_rubygems_version: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: "0"
83
+ version:
84
+ requirements: []
85
+
86
+ rubyforge_project:
87
+ rubygems_version: 1.2.0
88
+ signing_key:
89
+ specification_version: 2
90
+ summary: A command line bot for working with XTT, ENTP's rad time tracking app
91
+ test_files: []
92
+