githubissues-port 1.3 → 1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,32 +5,46 @@ module Githubissues
5
5
  module Port
6
6
  class Githubissues::Port::Export
7
7
 
8
- attr_reader :connection, :owner, :repo, :path
8
+ attr_reader :connection, :owner, :repo, :path ,:params
9
9
 
10
- DEFAULT_FIELDS = %w(number title body labels assignee state milestone created_at closed_at comments labels comments_url events_url html_url labels_url type priority module status)
10
+ DEFAULT_FIELDS = %w(number title body labels assignee state milestone created_at updated_at closed_at comments labels comments_url events_url html_url labels_url type priority module status)
11
11
 
12
- def initialize connection, owner, repo, path, options = {}
12
+ def initialize connection, owner, repo, path, options = {},params
13
13
  @path, @connection, @owner, @repo = path, connection, owner, repo
14
14
  @fields = (options.has_key? :fields) ? options[:fields] : DEFAULT_FIELDS
15
+ @params =params
15
16
  generate_excel
16
17
  end
17
18
 
18
19
  def generate_excel
19
20
  Axlsx::Package.new do |excel|
20
- generate_sheet excel, 'open'
21
- generate_sheet excel, 'closed'
21
+ if @params[:params][:state]=='open'
22
+ generate_sheet excel, 'open'
23
+ elsif @params[:params][:state]=='closed'
24
+ generate_sheet excel, 'closed'
25
+ else
26
+ generate_sheet excel, 'open'
27
+ generate_sheet excel, 'closed'
28
+ end
22
29
  excel.serialize path
23
30
  end
24
31
  end
32
+
25
33
 
34
+ def generate_params(state)
35
+ params=({:user=>@owner,:repo=>@repo,:filter=>'all',:auto_pagination=>true,:state=>state})
36
+ params=params.merge({:labels=>@params[:params]['labels'].join(',')}) unless @params[:params]['labels'].nil?
37
+ params=params.merge({:milestone=>@params[:params]['milestone']}) unless @params[:params]['milestone'].blank?
38
+ params=params.merge({:assignee=>@params[:params]['assignee']}) unless @params[:params]['assignee'].blank?
39
+ params=params.merge({:creator=>@params[:params]['creator']}) unless @params[:params]['creator'].blank?
40
+ params=params.merge({:mentioned=>@params[:params]['mentioned']}) unless @params[:params]['mentioned'].blank?
41
+ params=params.merge({:since=>@params[:params]['datepicker'].to_time.utc.iso8601.split('+')[0]}) unless @params[:params]['datepicker'].blank?
42
+ params
43
+ end
26
44
  def generate_sheet excel, state
27
45
  excel.workbook.add_worksheet(:name => state) do |sheet|
28
- sheet.add_row @fields
29
- issues = @connection.issues.list user: @owner,
30
- repo: @repo,
31
- filter: 'all',
32
- auto_pagination: true,
33
- state: state
46
+ sheet.add_row @fields
47
+ issues = @connection.issues.list self.generate_params(state)
34
48
  issues.each{|issue| sheet.add_row generate_row(issue)}
35
49
  end
36
50
  end
@@ -47,6 +61,8 @@ module Githubissues
47
61
  issue.milestone.title unless issue.milestone.nil?
48
62
  when 'created_at'
49
63
  DateTime.parse issue.created_at unless issue.created_at.nil?
64
+ when 'updated_at'
65
+ DateTime.parse issue.updated_at unless issue.updated_at.nil?
50
66
  when 'closed_at'
51
67
  DateTime.parse issue.closed_at unless issue.closed_at.nil?
52
68
  when 'type'
@@ -1,5 +1,5 @@
1
1
  module Githubissues
2
2
  module Port
3
- VERSION = "1.3"
3
+ VERSION = "1.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: githubissues-port
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.3'
4
+ version: '1.4'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-03-03 00:00:00.000000000 Z
14
+ date: 2014-03-14 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: github_api
18
- requirement: &79905770 !ruby/object:Gem::Requirement
18
+ requirement: &80253830 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: '0'
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *79905770
26
+ version_requirements: *80253830
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: creek
29
- requirement: &79905540 !ruby/object:Gem::Requirement
29
+ requirement: &80253470 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *79905540
37
+ version_requirements: *80253470
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: axlsx
40
- requirement: &79905280 !ruby/object:Gem::Requirement
40
+ requirement: &80253210 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ~>
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: 2.0.1
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *79905280
48
+ version_requirements: *80253210
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: rake
51
- requirement: &79905000 !ruby/object:Gem::Requirement
51
+ requirement: &80252820 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ~>
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: 10.1.1
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *79905000
59
+ version_requirements: *80252820
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: rspec
62
- requirement: &79904810 !ruby/object:Gem::Requirement
62
+ requirement: &80252430 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,7 +67,7 @@ dependencies:
67
67
  version: '0'
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *79904810
70
+ version_requirements: *80252430
71
71
  description: An Excel import/export extension for github issues in Ruby.
72
72
  email:
73
73
  executables: []