redminerb 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: da909c714880dbb6b5574f5231f23fc6b6746212
4
- data.tar.gz: a441ec352a81a81fae4b9ba561fedd475984607d
3
+ metadata.gz: 86ab53553c2c822bbd2eca3a1509d0cbf5398e55
4
+ data.tar.gz: 4fa29701cab649703cb0e724530e5a21b43b2de1
5
5
  SHA512:
6
- metadata.gz: f1950ab70ede6e2a8614098ea9137a8bb978c4999ca44baa9db5304e190561ff914294fa2aeba7539acc4467744bd0b2b6c1c92ea28b770e2db1a6b0457f96b2
7
- data.tar.gz: e1676c311102229ef787b6a2c285925d7a2faf9f4959e64d8e9fb496e5910724bc9dfdf77f32d47efde1d3a8e1e01c9045db5413343cce6cb3629d529ceb077b
6
+ metadata.gz: a1fa0e876a7043e7c7276b097647c6572e97ad90bbf97f658c10a85ece9f3281401c05e372cd72045d51c3fc0e3da2e79e5704d181e39da89b87de1aca5ec075
7
+ data.tar.gz: 1b73b40315e6d8c78c265811d7d2719c49413898b57afe601272e5240cb7435268003b1469b69e4dce9ee11c0d848402388f8c1ff88af7182dbce6edfcf91775
@@ -1,3 +1,7 @@
1
+ == 0.4, released 2015-09-22
2
+
3
+ * 'redminerb users show <id>' to see a user's info.
4
+
1
5
  == 0.3, released 2015-09-22
2
6
 
3
7
  * 'redminerb issues [show] <number>' to see an issue's info
data/README.md CHANGED
@@ -100,6 +100,11 @@ You can see **all the fields available** with `redminerb users me`.
100
100
  Will show the data in the Redmine server associated with the account that has
101
101
  the API key used to access the Rest API (hopefully your data :).
102
102
 
103
+ #### Show user's data
104
+
105
+ $ redminerb users show <id>
106
+
107
+ Will give us the info associated with the user with the given *id*.
103
108
 
104
109
  #### Create new user
105
110
 
@@ -122,6 +127,10 @@ So, the previous command is the same as the following:
122
127
  $ redminerb users create -l wadus -p ultrasecret -fn Wadux -ln Wallace \
123
128
  -m wadus@waduxwallace.out
124
129
 
130
+ ### Issues
131
+
132
+ The **issues** command is the wrapper for part of the [Issues resource](http://www.redmine.org/projects/redmine/wiki/Rest_Issues) of the Redmine REST API.
133
+
125
134
  #### List issues
126
135
 
127
136
  $ redminerb issues list
@@ -21,7 +21,7 @@ module Redminerb
21
21
  # The subcommad's classes are defined in lib/redminerb/cli
22
22
  desc 'users [list]', "Manage Redmine's users"
23
23
  subcommand 'users', Cli::Users
24
- desc 'issues [list]', "Manage Redmine's issues"
24
+ desc 'issues [show] <id>', "Manage Redmine's issues"
25
25
  subcommand 'issues', Cli::Issues
26
26
  end
27
27
  end
@@ -1,5 +1,4 @@
1
1
  # Copyright (c) The Cocktail Experience S.L. (2015)
2
- require 'erb'
3
2
  require_relative '../issues'
4
3
 
5
4
  module Redminerb
@@ -21,9 +20,7 @@ module Redminerb
21
20
  desc 'show <number>', 'Shows the data of the issue which id match with #<number>'
22
21
  def show(issue_id)
23
22
  Redminerb.init!
24
- issue = Redminerb::Issues.read(issue_id)
25
- template = Redminerb::Template.read(:issue)
26
- puts ERB.new(template).result(binding)
23
+ puts Redminerb::Template.render(:issue, Redminerb::Issues.read(issue_id))
27
24
  end
28
25
  end
29
26
  end
@@ -7,7 +7,7 @@ module Redminerb
7
7
  class Users < Thor
8
8
  default_command :list
9
9
 
10
- desc 'list', 'Shows the current users in our Redmine'
10
+ desc 'list', 'Shows the current users in our Redmine.'
11
11
  option :fields, aliases: :f, banner: 'id:login:email'
12
12
  option :name, aliases: [:q, '--query'], banner: '<FILTER>'
13
13
  option :offset, aliases: :o
@@ -31,13 +31,19 @@ module Redminerb
31
31
  puts Redminerb::Users.create(options).green
32
32
  end
33
33
 
34
- desc 'me', 'Shows the info of the owner of the API key'
34
+ desc 'me', 'Shows the info of the owner of the API key.'
35
35
  def me
36
36
  Redminerb.init!
37
37
  Redminerb::Users.me.each do |field, value|
38
38
  puts "#{field}: ".blue + value.to_s.green
39
39
  end
40
40
  end
41
+
42
+ desc 'show <id>', 'Shows the info of the user with id <id>.'
43
+ def show(user_id)
44
+ Redminerb.init!
45
+ puts Redminerb::Template.render(:user, Redminerb::Users.read(user_id))
46
+ end
41
47
  end
42
48
  end
43
49
  end
@@ -1,23 +1,49 @@
1
1
  # Copyright (c) The Cocktail Experience S.L. (2015)
2
- require 'ostruct'
2
+ require 'erb'
3
3
 
4
4
  module Redminerb
5
5
  # Class to read Redminerb's ERB templates
6
6
  class Template
7
7
  class << self
8
- # Returns the content of the given ERB file in the templates directory.
8
+ # Renders the template +name+ using +resource+ assigned to a local
9
+ # variable with that same name in its binding (i.e. the template will
10
+ # have a local variable with the same name of the template that let
11
+ # us access to the resource).
12
+ #
13
+ # ==== Parameters
14
+ #
15
+ # * +name+ - Filename (without the erb extension) of the template in the
16
+ # templates directory.
17
+ #
18
+ # * +resource+ - The object that will be available into the template with
19
+ # the same name as the the template itself.
20
+ #
21
+ # ==== Example:
22
+ #
23
+ # # With this content in templates/issue.erb:
9
24
  #
10
- # Example:
11
- # Redminerb::Template.read(:issue) # Returns the content of templates/issue.erb
25
+ # Title: <%= issue[:subject] %>
26
+ #
27
+ # # ...we could call +render+ this way:
28
+ #
29
+ # Redminerb::Template.render(:issue, {subject: 'Fixme!'})
12
30
  #
13
31
 
14
- def read(name)
15
- File.read(filepath(name))
32
+ def render(name, resource)
33
+ b = binding
34
+ b.local_variable_set(name, resource)
35
+ template = _read_template(name)
36
+ ERB.new(template).result(b)
16
37
  end
17
38
 
18
39
  private
19
40
 
20
- def filepath(name)
41
+ # Returns the content of the given ERB file in the templates directory.
42
+ def _read_template(name)
43
+ File.read(_filepath(name))
44
+ end
45
+
46
+ def _filepath(name)
21
47
  File.join(File.dirname(__FILE__)[0..-15], 'templates', "#{name}.erb")
22
48
  end
23
49
  end
@@ -50,6 +50,10 @@ module Redminerb
50
50
  def me
51
51
  Redminerb.client.get_json('/users/current.json')['user']
52
52
  end
53
+
54
+ def read(id)
55
+ OpenStruct.new Redminerb.client.get_json("/users/#{id}.json")['user']
56
+ end
53
57
  end
54
58
  end
55
59
  end
@@ -1,4 +1,4 @@
1
1
  # Copyright (c) The Cocktail Experience S.L. (2015)
2
2
  module Redminerb
3
- VERSION = '0.3.0'
3
+ VERSION = '0.4.0'
4
4
  end
@@ -0,0 +1,13 @@
1
+ <%= Redminerb.separator %>
2
+ <%= user.login.upcase.green %>
3
+ <%= Redminerb.separator %>
4
+ * Id: <%= user.id.to_s.blue %>
5
+ * Firstname: <%= user.firstname.red %>
6
+ * Lastname: <%= user.lastname.red %>
7
+ * Login: <%= user.login.red %>
8
+ * E-Mail: <%= user.mail.red %>
9
+ <%= Redminerb.separator %>
10
+ * Created: <%= user.created_on.blue %>
11
+ * Last login: <%= user.last_login_on.blue %>
12
+ * Status: <%= user.status.to_s.blue %>
13
+ <%= Redminerb.separator %>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redminerb
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
  - Fernando Garcia Samblas
@@ -184,6 +184,7 @@ files:
184
184
  - lib/redminerb/version.rb
185
185
  - redminerb.gemspec
186
186
  - templates/issue.erb
187
+ - templates/user.erb
187
188
  homepage: http://github.com/nando/redminerb
188
189
  licenses: []
189
190
  metadata: {}