fogbugz 1.0.2 → 1.0.3
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/bin/fogbugz-edit +23 -11
 - data/bin/fogbugz-filters +7 -1
 - data/bin/fogbugz-new +23 -12
 - data/bin/fogbugz-show +7 -2
 - metadata +2 -2
 
    
        data/bin/fogbugz-edit
    CHANGED
    
    | 
         @@ -8,6 +8,7 @@ require 'tempfile' 
     | 
|
| 
       8 
8 
     | 
    
         
             
            require 'optparse'
         
     | 
| 
       9 
9 
     | 
    
         
             
            require 'yaml'
         
     | 
| 
       10 
10 
     | 
    
         
             
            require 'English'
         
     | 
| 
      
 11 
     | 
    
         
            +
            require 'time'
         
     | 
| 
       11 
12 
     | 
    
         | 
| 
       12 
13 
     | 
    
         
             
            api_url = ENV['FOGBUGZ_API_URL']
         
     | 
| 
       13 
14 
     | 
    
         
             
            unless api_url
         
     | 
| 
         @@ -249,19 +250,30 @@ if not data or data.empty? 
     | 
|
| 
       249 
250 
     | 
    
         
             
              exit 1
         
     | 
| 
       250 
251 
     | 
    
         
             
            end
         
     | 
| 
       251 
252 
     | 
    
         | 
| 
      
 253 
     | 
    
         
            +
            sTitle = data['title'] ? "&sTitle=#{URI.escape(data['title'].to_s)}" : ''
         
     | 
| 
      
 254 
     | 
    
         
            +
            ixBugParent = (data['parent'] ?
         
     | 
| 
      
 255 
     | 
    
         
            +
                           "&ixBugParent=#{URI.escape(data['parent'].to_s)}" : '')
         
     | 
| 
      
 256 
     | 
    
         
            +
            sTags = data['tags'] ? "&sTags=#{URI.escape(data['tags'].join(','))}" : ''
         
     | 
| 
      
 257 
     | 
    
         
            +
            sProject = (data['project'] ?
         
     | 
| 
      
 258 
     | 
    
         
            +
                        "&sProject=#{URI.escape(data['project'].to_s)}" : '')
         
     | 
| 
      
 259 
     | 
    
         
            +
            sArea = data['area'] ? "&sArea=#{URI.escape(data['area'].to_s)}" : ''
         
     | 
| 
      
 260 
     | 
    
         
            +
            sFixFor = (data['milestone'] ?
         
     | 
| 
      
 261 
     | 
    
         
            +
                       "&sFixFor=#{URI.escape(data['milestone'].to_s)}" : '')
         
     | 
| 
      
 262 
     | 
    
         
            +
            sCategory = (data['category'] ?
         
     | 
| 
      
 263 
     | 
    
         
            +
                         "&sCategory=#{URI.escape(data['category'].to_s)}" : '')
         
     | 
| 
      
 264 
     | 
    
         
            +
            sPersonAssignedTo = (data['assignee'] ?
         
     | 
| 
      
 265 
     | 
    
         
            +
                                 "&sPersonAssignedTo=#{URI.escape(data['assignee'].to_s)}" :
         
     | 
| 
      
 266 
     | 
    
         
            +
                                 '')
         
     | 
| 
      
 267 
     | 
    
         
            +
            sPriority = (data['priority'] ?
         
     | 
| 
      
 268 
     | 
    
         
            +
                         "&sPriority=#{URI.escape(data['priority'].to_s)}" : '')
         
     | 
| 
      
 269 
     | 
    
         
            +
            hrsCurrEst = (data['estimate'] ?
         
     | 
| 
      
 270 
     | 
    
         
            +
                          "&hrsCurrEst=#{URI.escape(data['estimate'].to_s)}" : '')
         
     | 
| 
      
 271 
     | 
    
         
            +
            sEvent = data['body'] ? "&sEvent=#{URI.escape(data['body'].to_s)}" : ''
         
     | 
| 
      
 272 
     | 
    
         
            +
             
     | 
| 
       252 
273 
     | 
    
         
             
            uri = URI format("#{api_url}?cmd=edit&token=%s&ixBug=%s%s%s%s%s%s%s%s%s%s%s%s",
         
     | 
| 
       253 
274 
     | 
    
         
             
                             URI.escape(api_token), URI.escape(case_id),
         
     | 
| 
       254 
     | 
    
         
            -
                              
     | 
| 
       255 
     | 
    
         
            -
                              
     | 
| 
       256 
     | 
    
         
            -
                             data['tags'] ? URI.escape(data['tags'].join(',')) : '',
         
     | 
| 
       257 
     | 
    
         
            -
                             data['project'] ? URI.escape(data['project'].to_s) : '',
         
     | 
| 
       258 
     | 
    
         
            -
                             data['area'] ? URI.escape(data['area'].to_s) : '',
         
     | 
| 
       259 
     | 
    
         
            -
                             data['milestone'] ? URI.escape(data['milestone'].to_s) : '',
         
     | 
| 
       260 
     | 
    
         
            -
                             data['category'] ? URI.escape(data['category'].to_s) : '',
         
     | 
| 
       261 
     | 
    
         
            -
                             data['assignee'] ? URI.escape(data['assignee'].to_s) : '',
         
     | 
| 
       262 
     | 
    
         
            -
                             data['priority'] ? URI.escape(data['priority'].to_s) : '',
         
     | 
| 
       263 
     | 
    
         
            -
                             data['estimate'] ? URI.escape(data['estimate'].to_s) : '',
         
     | 
| 
       264 
     | 
    
         
            -
                             data['body'] ? URI.escape(data['body'].to_s) : '')
         
     | 
| 
      
 275 
     | 
    
         
            +
                             sTitle, ixBugParent, sTags, sProject, sArea, sFixFor, sCategory,
         
     | 
| 
      
 276 
     | 
    
         
            +
                             sPersonAssignedTo, sPriority, hrsCurrEst, sEvent)
         
     | 
| 
       265 
277 
     | 
    
         
             
            http = Net::HTTP.new(uri.host, uri.port)
         
     | 
| 
       266 
278 
     | 
    
         
             
            if uri.scheme == 'https'
         
     | 
| 
       267 
279 
     | 
    
         
             
              http.use_ssl = true
         
     | 
    
        data/bin/fogbugz-filters
    CHANGED
    
    | 
         @@ -7,6 +7,13 @@ require 'rexml/document' 
     | 
|
| 
       7 
7 
     | 
    
         
             
            require 'optparse'
         
     | 
| 
       8 
8 
     | 
    
         
             
            require 'highline'
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
      
 10 
     | 
    
         
            +
            HighLine.use_color = STDOUT.isatty
         
     | 
| 
      
 11 
     | 
    
         
            +
            begin
         
     | 
| 
      
 12 
     | 
    
         
            +
              require 'win32console' if RUBY_PLATFORM =~ /mingw/
         
     | 
| 
      
 13 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 14 
     | 
    
         
            +
              HighLine.use_color = false
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
       10 
17 
     | 
    
         
             
            api_url = ENV['FOGBUGZ_API_URL']
         
     | 
| 
       11 
18 
     | 
    
         
             
            unless api_url
         
     | 
| 
       12 
19 
     | 
    
         
             
              puts "Environment variable FOGBUGZ_API_URL must be set."
         
     | 
| 
         @@ -49,7 +56,6 @@ if error 
     | 
|
| 
       49 
56 
     | 
    
         
             
              exit 1
         
     | 
| 
       50 
57 
     | 
    
         
             
            end
         
     | 
| 
       51 
58 
     | 
    
         | 
| 
       52 
     | 
    
         
            -
            HighLine.use_color = STDOUT.isatty
         
     | 
| 
       53 
59 
     | 
    
         
             
            result.elements.each('/response/filters/filter') do |filter|
         
     | 
| 
       54 
60 
     | 
    
         
             
              if filter.attributes['status'] == 'current'
         
     | 
| 
       55 
61 
     | 
    
         
             
                puts "* #{HighLine.new.color(filter.text, HighLine::GREEN)}"
         
     | 
    
        data/bin/fogbugz-new
    CHANGED
    
    | 
         @@ -130,19 +130,30 @@ if not data or data.empty? 
     | 
|
| 
       130 
130 
     | 
    
         
             
              exit 1
         
     | 
| 
       131 
131 
     | 
    
         
             
            end
         
     | 
| 
       132 
132 
     | 
    
         | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
      
 133 
     | 
    
         
            +
            sTitle = data['title'] ? "&sTitle=#{URI.escape(data['title'].to_s)}" : ''
         
     | 
| 
      
 134 
     | 
    
         
            +
            ixBugParent = (data['parent'] ?
         
     | 
| 
      
 135 
     | 
    
         
            +
                           "&ixBugParent=#{URI.escape(data['parent'].to_s)}" : '')
         
     | 
| 
      
 136 
     | 
    
         
            +
            sTags = data['tags'] ? "&sTags=#{URI.escape(data['tags'].join(','))}" : ''
         
     | 
| 
      
 137 
     | 
    
         
            +
            sProject = (data['project'] ?
         
     | 
| 
      
 138 
     | 
    
         
            +
                        "&sProject=#{URI.escape(data['project'].to_s)}" : '')
         
     | 
| 
      
 139 
     | 
    
         
            +
            sArea = data['area'] ? "&sArea=#{URI.escape(data['area'].to_s)}" : ''
         
     | 
| 
      
 140 
     | 
    
         
            +
            sFixFor = (data['milestone'] ?
         
     | 
| 
      
 141 
     | 
    
         
            +
                       "&sFixFor=#{URI.escape(data['milestone'].to_s)}" : '')
         
     | 
| 
      
 142 
     | 
    
         
            +
            sCategory = (data['category'] ?
         
     | 
| 
      
 143 
     | 
    
         
            +
                         "&sCategory=#{URI.escape(data['category'].to_s)}" : '')
         
     | 
| 
      
 144 
     | 
    
         
            +
            sPersonAssignedTo = (data['assignee'] ?
         
     | 
| 
      
 145 
     | 
    
         
            +
                                 "&sPersonAssignedTo=#{URI.escape(data['assignee'].to_s)}" :
         
     | 
| 
      
 146 
     | 
    
         
            +
                                 '')
         
     | 
| 
      
 147 
     | 
    
         
            +
            sPriority = (data['priority'] ?
         
     | 
| 
      
 148 
     | 
    
         
            +
                         "&sPriority=#{URI.escape(data['priority'].to_s)}" : '')
         
     | 
| 
      
 149 
     | 
    
         
            +
            hrsCurrEst = (data['estimate'] ?
         
     | 
| 
      
 150 
     | 
    
         
            +
                          "&hrsCurrEst=#{URI.escape(data['estimate'].to_s)}" : '')
         
     | 
| 
      
 151 
     | 
    
         
            +
            sEvent = data['body'] ? "&sEvent=#{URI.escape(data['body'].to_s)}" : ''
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
      
 153 
     | 
    
         
            +
            uri = URI format("#{api_url}?cmd=new&token=%s%s%s%s%s%s%s%s%s%s%s%s",
         
     | 
| 
       134 
154 
     | 
    
         
             
                             URI.escape(api_token),
         
     | 
| 
       135 
     | 
    
         
            -
                              
     | 
| 
       136 
     | 
    
         
            -
                              
     | 
| 
       137 
     | 
    
         
            -
                             data['tags'] ? URI.escape(data['tags'].join(',')) : '',
         
     | 
| 
       138 
     | 
    
         
            -
                             data['project'] ? URI.escape(data['project'].to_s) : '',
         
     | 
| 
       139 
     | 
    
         
            -
                             data['area'] ? URI.escape(data['area'].to_s) : '',
         
     | 
| 
       140 
     | 
    
         
            -
                             data['milestone'] ? URI.escape(data['milestone'].to_s) : '',
         
     | 
| 
       141 
     | 
    
         
            -
                             data['category'] ? URI.escape(data['category'].to_s) : '',
         
     | 
| 
       142 
     | 
    
         
            -
                             data['assignee'] ? URI.escape(data['assignee'].to_s) : '',
         
     | 
| 
       143 
     | 
    
         
            -
                             data['priority'] ? URI.escape(data['priority'].to_s) : '',
         
     | 
| 
       144 
     | 
    
         
            -
                             data['estimate'] ? URI.escape(data['estimate'].to_s) : '',
         
     | 
| 
       145 
     | 
    
         
            -
                             data['body'] ? URI.escape(data['body'].to_s) : '')
         
     | 
| 
      
 155 
     | 
    
         
            +
                             sTitle, ixBugParent, sTags, sProject, sArea, sFixFor, sCategory,
         
     | 
| 
      
 156 
     | 
    
         
            +
                             sPersonAssignedTo, sPriority, hrsCurrEst, sEvent)
         
     | 
| 
       146 
157 
     | 
    
         
             
            http = Net::HTTP.new(uri.host, uri.port)
         
     | 
| 
       147 
158 
     | 
    
         
             
            if uri.scheme == 'https'
         
     | 
| 
       148 
159 
     | 
    
         
             
              http.use_ssl = true
         
     | 
    
        data/bin/fogbugz-show
    CHANGED
    
    | 
         @@ -8,6 +8,13 @@ require 'optparse' 
     | 
|
| 
       8 
8 
     | 
    
         
             
            require 'highline'
         
     | 
| 
       9 
9 
     | 
    
         
             
            require 'time'
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
      
 11 
     | 
    
         
            +
            HighLine.use_color = STDOUT.isatty
         
     | 
| 
      
 12 
     | 
    
         
            +
            begin
         
     | 
| 
      
 13 
     | 
    
         
            +
              require 'win32console' if RUBY_PLATFORM =~ /mingw/
         
     | 
| 
      
 14 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 15 
     | 
    
         
            +
              HighLine.use_color = false
         
     | 
| 
      
 16 
     | 
    
         
            +
            end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
       11 
18 
     | 
    
         
             
            api_url = ENV['FOGBUGZ_API_URL']
         
     | 
| 
       12 
19 
     | 
    
         
             
            unless api_url
         
     | 
| 
       13 
20 
     | 
    
         
             
              puts "Environment variable FOGBUGZ_API_URL must be set."
         
     | 
| 
         @@ -58,9 +65,7 @@ if error 
     | 
|
| 
       58 
65 
     | 
    
         
             
              exit 1
         
     | 
| 
       59 
66 
     | 
    
         
             
            end
         
     | 
| 
       60 
67 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
            HighLine.use_color = STDOUT.isatty
         
     | 
| 
       62 
68 
     | 
    
         
             
            hl = HighLine.new
         
     | 
| 
       63 
     | 
    
         
            -
             
     | 
| 
       64 
69 
     | 
    
         
             
            bug = result.elements["/response/cases/case[@ixBug='#{ARGV[0]}']"]
         
     | 
| 
       65 
70 
     | 
    
         
             
            unless bug
         
     | 
| 
       66 
71 
     | 
    
         
             
              puts "Case #{ARGV[0]} does not exist."
         
     |