mingle4r 0.4.1 → 0.4.2

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/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ 0.4.2
2
+ -----
3
+ * Added functionality to get/set card type directly
4
+
1
5
  0.4.1
2
6
  -----
3
7
  * Added execute mql api. Now you can make arbitrary MQL queries and get their result.
data/README CHANGED
@@ -38,8 +38,8 @@ the api documentation for the mingle instance(located at <mingle instance host>/
38
38
  In all the documentation below you can replace Mingle4r::MingleClient with MingleClient.
39
39
  Its an alias for easy use.
40
40
 
41
- A) Getting all the projects for a particular instance
42
- -----------------------------------------------------
41
+ Getting all the projects for a particular instance
42
+ --------------------------------------------------
43
43
 
44
44
  Suppose you want to connect to the mingle instance hosted at http://localhost:8080 where the
45
45
  username is 'testuser' and password is 'password'.
@@ -49,8 +49,8 @@ projs = m_c.projects
49
49
 
50
50
  projs is an array of active resource objects
51
51
 
52
- B) Getting a particular project
53
- -------------------------------
52
+ Getting a particular project
53
+ ----------------------------
54
54
 
55
55
  Before you access a particular project you need to set the project id for the mingle client
56
56
  object. You can do that in two ways. Supposing you are trying to access a project with an
@@ -75,8 +75,8 @@ you are trying to access. It should be something like 'http://localhost:8080/pro
75
75
 
76
76
  project is a single activeresource object
77
77
 
78
- C) Getting cards for a particular project
79
- -----------------------------------------
78
+ Getting cards for a particular project
79
+ --------------------------------------
80
80
 
81
81
  Get a mingle client object initialized as in SECTION B. Then call the cards method.
82
82
 
@@ -86,8 +86,8 @@ m_c.project.cards
86
86
 
87
87
  cards will be an array of activeresoure objects.
88
88
 
89
- D) Getting custom properties for a card
90
- ---------------------------------------
89
+ Getting custom properties for a card
90
+ ------------------------------------
91
91
 
92
92
  m_c = Mingle4r::MingleClient.new('http://localhost:8080', 'testuser', 'password')
93
93
  m_c.proj_id = 'great_mingle_project'
@@ -96,21 +96,25 @@ card.custom_properties => returns an array of hashes, {property name => property
96
96
 
97
97
  However this gives only custom properties, not all the properties.
98
98
 
99
- E) Getting a particular property
100
- --------------------------------
99
+ Getting a particular property
100
+ -----------------------------
101
101
 
102
102
  gets the value of a property. The property name given should be the same as seen in Mingle.
103
+ Type, name, description and number of a card can be accessed directly. For any other custom
104
+ property use the method below.
103
105
 
104
106
  m_c = Mingle4r::MingleClient.new('http://localhost:8080', 'testuser', 'password')
105
107
  m_c.proj_id = 'great_mingle_project'
106
108
  card = m_c.project.cards[0]
107
109
  card.property_value('Status')
108
110
 
109
- F) Setting a particular property
110
- --------------------------------
111
+ Setting a particular property
112
+ -----------------------------
111
113
 
112
- sets the value of the property. The property name given should be the same as in Mingle and
113
- the value given should be one of the values that Mingle accepts in case of a managed list
114
+ sets the value of the property. The property name given should be the same as in Mingle.
115
+ Type, name and description should be set directly when creating or updating a card.
116
+ In case of a custom property use the following method. The value given should be one of
117
+ the values that Mingle accepts in case of a managed list
114
118
 
115
119
  m_c = Mingle4r::MingleClient.new('http://localhost:8080', 'testuser', 'password')
116
120
  m_c.proj_id = 'great_mingle_project'
@@ -118,16 +122,16 @@ defect_card = m_c.project.cards.first
118
122
  defect_card.property_value('Status', 'Closed')
119
123
  defect_card.save
120
124
 
121
- G) Adding comment to a particular card
122
- --------------------------------------
125
+ Adding comment to a particular card
126
+ -----------------------------------
123
127
 
124
128
  m_c = Mingle4r::MingleClient.new('http://localhost:8080', 'testuser', 'password')
125
129
  m_c.proj_id = 'great_mingle_project'
126
130
  defect_card = m_c.project.cards[0]
127
131
  defect_card.add_comment('Not able to reproduce')
128
132
 
129
- H) Getting a particular version of a card
130
- -----------------------------------------
133
+ Getting a particular version of a card
134
+ --------------------------------------
131
135
 
132
136
  Mingle maintains the different versions of a card. It always shows the latest version
133
137
  by default. However if you want to access a different version you can do so in the
@@ -153,16 +157,16 @@ supposing the latest version of the card is 42
153
157
 
154
158
  defect_card.version(21) # returns version 21
155
159
 
156
- I) Getting all comments for a card
157
- ----------------------------------
160
+ Getting all comments for a card
161
+ -------------------------------
158
162
 
159
163
  m_c = Mingle4r::MingleClient.new('http://localhost:8080', 'testuser', 'password')
160
164
  m_c.proj_id = 'great_mingle_project'
161
165
  defect_card = m_c.project.cards.first
162
166
  defect_cards.comments
163
167
 
164
- J) Attachments
165
- --------------
168
+ Attachments
169
+ -----------
166
170
  m_c = Mingle4r::MingleClient.new('http://localhost:8080', 'testuser', 'password')
167
171
  m_c.proj_id = 'great_mingle_project'
168
172
  defect_card = m_c.project.cards.first
@@ -178,9 +182,9 @@ defect_card.attachments
178
182
  --------------------------
179
183
 
180
184
  defect_card.upload_attachment('page-screenshot.jpg')
181
-
182
- K) Murmurs
183
- ----------
185
+
186
+ Murmurs
187
+ -------
184
188
 
185
189
  1) Get the murmurs for a project
186
190
  --------------------------------
@@ -200,8 +204,8 @@ K) Murmurs
200
204
  -------------------------
201
205
  project.post_murmur('my first murmur, I am excited!')
202
206
 
203
- L) Get all transitions for a card
204
- ---------------------------------
207
+ Get all transitions for a card
208
+ ------------------------------
205
209
 
206
210
  m_c = Mingle4r::MingleClient.new('http://localhost:8080', 'testuser', 'password')
207
211
  m_c.proj_id = 'great_mingle_project'
@@ -209,8 +213,8 @@ defect_card = m_c.project.cards.first
209
213
 
210
214
  defect_card.transitions # array of active resource objects
211
215
 
212
- M) Execute a transition on a card
213
- ---------------------------------
216
+ Execute a transition on a card
217
+ ------------------------------
214
218
 
215
219
  m_c = Mingle4r::MingleClient.new('http://localhost:8080', 'testuser', 'password')
216
220
  m_c.proj_id = 'great_mingle_project'
@@ -222,8 +226,8 @@ defect_card.execute_transition(
222
226
  if the transition requires to be set manually, multiple properties might need to be set.
223
227
  )
224
228
 
225
- N) MQL execution
226
- ----------------
229
+ MQL execution
230
+ -------------
227
231
 
228
232
  mingle allows you to write an arbitrary MQL query and returns the results. This gem
229
233
  allows you to do that in a simpler way. If you want to know more about MQL go to http://www.thoughtworks-studios.com/mingle/3.0/help/mql_reference.html.
data/TODO.txt CHANGED
@@ -1,4 +1,5 @@
1
1
  update documentation - write about executing transitions directly on the transition
2
+ clarify in docs difference between custom properties and native properties
2
3
  write tests for project class
3
4
 
4
5
  refactorings
@@ -7,4 +8,6 @@ refactorings
7
8
  maybe nice to nave
8
9
  -------------------
9
10
 
11
+ provide a easy mechanism to link to other cards
12
+
10
13
  should transtions give the list of properties to be changed directly
@@ -32,7 +32,15 @@ module Mingle4r
32
32
  def id
33
33
  number()
34
34
  end
35
-
35
+
36
+ def type
37
+ card_type.name
38
+ end
39
+
40
+ def type=(type)
41
+ attributes['card_type_name'] = type
42
+ end
43
+
36
44
  def attachments(refresh = false)
37
45
  return @attachments if(!refresh && @attachments)
38
46
  set_attributes_for(Attachment)
@@ -2,7 +2,7 @@ module Mingle4r
2
2
  module Version
3
3
  Major = '0'
4
4
  Minor = '4'
5
- Tiny = '1'
5
+ Tiny = '2'
6
6
 
7
7
  def self.to_s
8
8
  Major + '.' + Minor + '.' + Tiny
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mingle4r
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 4
8
+ - 2
9
+ version: 0.4.2
5
10
  platform: ruby
6
11
  authors:
7
12
  - asur
@@ -9,19 +14,21 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-02-11 00:00:00 +05:30
17
+ date: 2010-02-25 00:00:00 +05:30
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: activeresource
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
23
29
  version: "0"
24
- version:
30
+ type: :runtime
31
+ version_requirements: *id001
25
32
  description: " A connector wrapper for connecting to Mingle(http://studios.thoughtworks.com/mingle-agile-project-management).\n It uses active resource to handle the restful connections to Mingle. Makes the job of connecting to Mingle a \n lot easier. Also since it uses lazy evaluation, resources are fetched only when they are requested.\n"
26
33
  email: arusarka@gmail.com
27
34
  executables: []
@@ -41,7 +48,6 @@ files:
41
48
  - lib/mingle4r/api/card/attachment.rb
42
49
  - lib/mingle4r/api/card/comment.rb
43
50
  - lib/mingle4r/api/card/transition.rb
44
- - lib/mingle4r/api/execute_mql.rb
45
51
  - lib/mingle4r/api/murmur.rb
46
52
  - lib/mingle4r/api/project.rb
47
53
  - lib/mingle4r/api/property_definition.rb
@@ -64,18 +70,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
64
70
  requirements:
65
71
  - - ">="
66
72
  - !ruby/object:Gem::Version
73
+ segments:
74
+ - 0
67
75
  version: "0"
68
- version:
69
76
  required_rubygems_version: !ruby/object:Gem::Requirement
70
77
  requirements:
71
78
  - - ">="
72
79
  - !ruby/object:Gem::Version
80
+ segments:
81
+ - 0
73
82
  version: "0"
74
- version:
75
83
  requirements: []
76
84
 
77
85
  rubyforge_project:
78
- rubygems_version: 1.3.5
86
+ rubygems_version: 1.3.6
79
87
  signing_key:
80
88
  specification_version: 3
81
89
  summary: Mingle connector using active resource
@@ -1,15 +0,0 @@
1
- module Mingle4r
2
- module API
3
- class ExecuteMql
4
- extend Mingle4r::CommonClassMethods
5
-
6
- def self.query(query_string)
7
- @resource_class.find(:all, :params => {:mql => query_string}).
8
- collect { |res| res.attributes }
9
- end
10
- end
11
- end
12
- end
13
-
14
- Mingle4r::API::ExecuteMql.collection_name = 'execute_mql'
15
- Mingle4r::API::ExecuteMql.element_name = 'result'