githubissues-port 1.3 → 1.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.
@@ -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: []