foggy_bottom 0.0.3 → 0.0.4
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.
- data/lib/foggy_bottom/columns.rb +29 -0
- data/lib/foggy_bottom/console.rb +3 -1
- data/lib/foggy_bottom/status.rb +36 -0
- data/lib/foggy_bottom/version.rb +1 -1
- data/lib/foggy_bottom.rb +1 -0
- metadata +9 -8
data/lib/foggy_bottom/columns.rb
CHANGED
@@ -1,5 +1,34 @@
|
|
1
1
|
module FoggyBottom
|
2
2
|
module Columns
|
3
|
+
module Status
|
4
|
+
def self.included(base)
|
5
|
+
base.class_eval do
|
6
|
+
ALL_COLUMNS.each do |column|
|
7
|
+
define_method(column) do
|
8
|
+
@attributes[column]
|
9
|
+
end
|
10
|
+
|
11
|
+
define_method("#{column}=") do |arg|
|
12
|
+
send("#{column}_will_change!") unless send(column) == arg
|
13
|
+
|
14
|
+
@attributes[column] = arg
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
ALL_COLUMNS = %w(
|
21
|
+
ixStatus
|
22
|
+
sStatus
|
23
|
+
ixCategory
|
24
|
+
fWorkDone
|
25
|
+
fResolved
|
26
|
+
fDuplicate
|
27
|
+
fDeleted
|
28
|
+
iOrder
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
3
32
|
module Case
|
4
33
|
def self.included(base)
|
5
34
|
base.class_eval do
|
data/lib/foggy_bottom/console.rb
CHANGED
@@ -13,6 +13,8 @@ class FoggyBottom::Console
|
|
13
13
|
search(get("Terms"))
|
14
14
|
when :resolve
|
15
15
|
resolve(get("Case ID"))
|
16
|
+
when :status_list
|
17
|
+
puts FoggyBottom::Status.all(api).inspect
|
16
18
|
when :quit
|
17
19
|
exit 0
|
18
20
|
else
|
@@ -23,7 +25,7 @@ class FoggyBottom::Console
|
|
23
25
|
|
24
26
|
protected
|
25
27
|
def show_menu
|
26
|
-
commands = %w( search resolve quit )
|
28
|
+
commands = %w( search resolve status_list quit )
|
27
29
|
choice = (Hirb::Menu.render commands, :helper_class => false, :directions => false).first
|
28
30
|
choice ? choice.to_sym : :unknown
|
29
31
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
class FoggyBottom::Status
|
2
|
+
include FoggyBottom::Columns::Status
|
3
|
+
|
4
|
+
include ActiveModel::AttributeMethods
|
5
|
+
include ActiveModel::Dirty
|
6
|
+
include ActiveModel::Serialization
|
7
|
+
|
8
|
+
define_attribute_methods ALL_COLUMNS
|
9
|
+
|
10
|
+
attr_accessor :api
|
11
|
+
|
12
|
+
delegate :logger, :to => :api
|
13
|
+
|
14
|
+
class << self
|
15
|
+
def all(api)
|
16
|
+
api.exec(:listStatuses).css("status").collect do |details|
|
17
|
+
create_from_xml(details, api)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def create_from_xml(xml, api)
|
22
|
+
new( {}.tap do |attributes|
|
23
|
+
(FoggyBottom::Columns::Status::ALL_COLUMNS ).each do |col|
|
24
|
+
attributes[col] = xml.at_css(col).content
|
25
|
+
end
|
26
|
+
end).tap do |instance|
|
27
|
+
instance.api = api
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def initialize(attributes = {})
|
33
|
+
@attributes = attributes.stringify_keys
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
data/lib/foggy_bottom/version.rb
CHANGED
data/lib/foggy_bottom.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foggy_bottom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-07 00:00:00.000000000 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: nokogiri
|
17
|
-
requirement: &
|
17
|
+
requirement: &2152853600 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2152853600
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: activemodel
|
28
|
-
requirement: &
|
28
|
+
requirement: &2152853100 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 3.0.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2152853100
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: hirb
|
39
|
-
requirement: &
|
39
|
+
requirement: &2152852680 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2152852680
|
48
48
|
description: It wraps the FogBugz API.
|
49
49
|
email:
|
50
50
|
- jon@burningbush.us
|
@@ -62,6 +62,7 @@ files:
|
|
62
62
|
- lib/foggy_bottom/case.rb
|
63
63
|
- lib/foggy_bottom/columns.rb
|
64
64
|
- lib/foggy_bottom/console.rb
|
65
|
+
- lib/foggy_bottom/status.rb
|
65
66
|
- lib/foggy_bottom/version.rb
|
66
67
|
has_rdoc: true
|
67
68
|
homepage: ''
|