ticketmaster-redmine 0.0.1
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/LICENSE +22 -0
- data/README.md +4 -0
- data/Rakefile +49 -0
- data/VERSION +1 -0
- data/lib/provider/comment.rb +13 -0
- data/lib/provider/project.rb +46 -0
- data/lib/provider/redmine.rb +24 -0
- data/lib/provider/ticket.rb +52 -0
- data/lib/redmine/redmine-api.rb +42 -0
- data/lib/ticketmaster-redmine.rb +6 -0
- data/spec/comments_spec.rb +5 -0
- data/spec/fixtures/issues/1.xml +1 -0
- data/spec/fixtures/issues.xml +1 -0
- data/spec/fixtures/projects/test-repo12.xml +12 -0
- data/spec/fixtures/projects.xml +23 -0
- data/spec/projects_spec.rb +46 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/ticketmaster-redmine_spec.rb +11 -0
- data/spec/tickets_spec.rb +71 -0
- metadata +170 -0
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2010 YOU
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
NONE
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
gem.name = "ticketmaster-redmine"
|
8
|
+
gem.summary = %Q{Ticketmaster Provider for Redmine}
|
9
|
+
gem.description = %Q{Allows ticketmaster to interact with Your System.}
|
10
|
+
gem.email = "george.rafael@gmail.com"
|
11
|
+
gem.homepage = "http://bandw.tumblr.com"
|
12
|
+
gem.authors = ["Rafael George"]
|
13
|
+
gem.add_development_dependency "rspec", ">= 1.2.9"
|
14
|
+
gem.add_dependency "ticketmaster", ">= 0.1.0"
|
15
|
+
gem.add_dependency "activesupport", ">= 2.3.2"
|
16
|
+
gem.add_dependency "activeresource", ">= 2.3.2"
|
17
|
+
gem.add_dependency "addressable", ">= 2.1.2"
|
18
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
19
|
+
end
|
20
|
+
Jeweler::GemcutterTasks.new
|
21
|
+
rescue LoadError
|
22
|
+
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
23
|
+
end
|
24
|
+
|
25
|
+
require 'spec/rake/spectask'
|
26
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
27
|
+
spec.libs << 'lib' << 'spec'
|
28
|
+
spec.spec_files = FileList['spec/**/*_spec.rb']
|
29
|
+
end
|
30
|
+
|
31
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
32
|
+
spec.libs << 'lib' << 'spec'
|
33
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
34
|
+
spec.rcov = true
|
35
|
+
end
|
36
|
+
|
37
|
+
task :spec => :check_dependencies
|
38
|
+
|
39
|
+
task :default => :spec
|
40
|
+
|
41
|
+
require 'rake/rdoctask'
|
42
|
+
Rake::RDocTask.new do |rdoc|
|
43
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
44
|
+
|
45
|
+
rdoc.rdoc_dir = 'rdoc'
|
46
|
+
rdoc.title = "ticketmaster-redmine#{version}"
|
47
|
+
rdoc.rdoc_files.include('README*')
|
48
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
49
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.1
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module TicketMaster::Provider
|
2
|
+
module Redmine
|
3
|
+
# The comment class for ticketmaster-yoursystem
|
4
|
+
#
|
5
|
+
# Do any mapping between Ticketmaster and your system's comment model here
|
6
|
+
# versions of the ticket.
|
7
|
+
#
|
8
|
+
class Comment < TicketMaster::Provider::Base::Comment
|
9
|
+
# declare needed overloaded methods here
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module TicketMaster::Provider
|
2
|
+
module Redmine
|
3
|
+
# Project class for ticketmaster-yoursystem
|
4
|
+
#
|
5
|
+
#
|
6
|
+
class Project < TicketMaster::Provider::Base::Project
|
7
|
+
# declare needed overloaded methods here
|
8
|
+
API = RedmineAPI::Project
|
9
|
+
|
10
|
+
# copy from this.copy(that) copies that into this
|
11
|
+
def copy(project)
|
12
|
+
project.tickets.each do |ticket|
|
13
|
+
copy_ticket = self.ticket!(:title => ticket.title, :description => ticket.description)
|
14
|
+
ticket.comments.each do |comment|
|
15
|
+
copy_ticket.comment!(:body => comment.body)
|
16
|
+
sleep 1
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def id
|
22
|
+
self[:id]
|
23
|
+
end
|
24
|
+
|
25
|
+
def identifier
|
26
|
+
self[:identifier]
|
27
|
+
end
|
28
|
+
|
29
|
+
def tickets(*options)
|
30
|
+
begin
|
31
|
+
if options.first.is_a? Hash
|
32
|
+
options[0].merge!(:params => {:project_id => id})
|
33
|
+
super(*options)
|
34
|
+
elsif options.empty?
|
35
|
+
issues = RedmineAPI::Issue.find(:all, :params => {:project_id => id}).collect { |issue| TicketMaster::Provider::Redmine::Ticket.new issue }
|
36
|
+
else
|
37
|
+
super(*options)
|
38
|
+
end
|
39
|
+
rescue
|
40
|
+
[]
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module TicketMaster::Provider
|
2
|
+
# This is the Yoursystem Provider for ticketmaster
|
3
|
+
module Redmine
|
4
|
+
include TicketMaster::Provider::Base
|
5
|
+
PROJECT_API = RedmineAPI::Project
|
6
|
+
TICKET_API = RedmineAPI::Issue
|
7
|
+
|
8
|
+
# This is for cases when you want to instantiate using TicketMaster::Provider::Yoursystem.new(auth)
|
9
|
+
def self.new(auth = {})
|
10
|
+
TicketMaster.new(:redmine, auth)
|
11
|
+
end
|
12
|
+
|
13
|
+
# declare needed overloaded methods here
|
14
|
+
def authorize(auth = {})
|
15
|
+
@authentication ||= TicketMaster::Authenticator.new(auth)
|
16
|
+
auth = @authentication
|
17
|
+
if (auth.server.blank? and auth.username.blank? and auth.password.blank?)
|
18
|
+
raise "Please you should provide server, username and password"
|
19
|
+
end
|
20
|
+
RedmineAPI.authenticate(auth.server, auth.username, auth.password)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module TicketMaster::Provider
|
2
|
+
module Redmine
|
3
|
+
# Ticket class for ticketmaster-yoursystem
|
4
|
+
#
|
5
|
+
API = RedmineAPI::Issue
|
6
|
+
|
7
|
+
class Ticket < TicketMaster::Provider::Base::Ticket
|
8
|
+
# declare needed overloaded methods here
|
9
|
+
|
10
|
+
def initialize(*object)
|
11
|
+
if object.first
|
12
|
+
object = object.first
|
13
|
+
@system_data = {:client => object}
|
14
|
+
unless object.is_a? Hash
|
15
|
+
hash = {:repository => object.id,
|
16
|
+
:description => object.description,
|
17
|
+
:subject => object.subject,
|
18
|
+
:status => object.status}
|
19
|
+
else
|
20
|
+
hash = object
|
21
|
+
end
|
22
|
+
super hash
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.find_by_id(project_id, ticket_id)
|
27
|
+
self.new API.find(ticket_id)
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.find_by_attributes(project_id, attributes = {})
|
31
|
+
issues = API.find(:all, build_attributes(project_id, attributes))
|
32
|
+
issues.collect { |issue| self.new issue }
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.build_attributes(repo, options)
|
36
|
+
hash = {:repo => repo}.merge!(options)
|
37
|
+
end
|
38
|
+
|
39
|
+
def id
|
40
|
+
self[:id].to_i
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.create(*options)
|
44
|
+
issue = API.new(options.first.merge!(:status => 'New'))
|
45
|
+
ticket = self.new issue
|
46
|
+
issue.save
|
47
|
+
ticket
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'active_support'
|
3
|
+
require 'active_resource'
|
4
|
+
|
5
|
+
|
6
|
+
module RedmineAPI
|
7
|
+
class Error < StandardError; end
|
8
|
+
|
9
|
+
class << self
|
10
|
+
def authenticate(server, username, password)
|
11
|
+
@username = username
|
12
|
+
@password = password
|
13
|
+
@server = server
|
14
|
+
self::Base.user = username
|
15
|
+
self::Base.password = password
|
16
|
+
self::Base.site = server
|
17
|
+
end
|
18
|
+
|
19
|
+
def resources
|
20
|
+
@resources = []
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
class Base < ActiveResource::Base
|
25
|
+
self.format = :xml
|
26
|
+
def self.inherited(base)
|
27
|
+
RedmineAPI.resources << base
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class Issue < Base
|
32
|
+
attr_reader :project_id
|
33
|
+
|
34
|
+
def name
|
35
|
+
self.subject
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
class Project < Base
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><issue><id>1</id><project name="test-repo" id="1"/><tracker name="Bug" id="1"/><status name="New" id="1"/><priority name="Normal" id="4"/><author name="Redmine Admin" id="1"/><subject>test-issue</subject><description></description><start_date>2010-12-22</start_date><due_date></due_date><done_ratio>0</done_ratio><estimated_hours></estimated_hours><spent_hours>0.0</spent_hours><created_on>2010-12-22T17:55:58-06:00</created_on><updated_on>2010-12-22T17:55:58-06:00</updated_on></issue>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><issues type="array" total_count="1" limit="25" offset="0"><issue><id>1</id><project name="test-repo" id="1"/><tracker name="Bug" id="1"/><status name="New" id="1"/><priority name="Normal" id="4"/><author name="Redmine Admin" id="1"/><subject>test-issue</subject><description></description><start_date>2010-12-22</start_date><due_date></due_date><done_ratio>0</done_ratio><estimated_hours></estimated_hours><created_on>2010-12-22T17:55:58-06:00</created_on><updated_on>2010-12-22T17:55:58-06:00</updated_on></issue></issues>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project id="1">
|
3
|
+
<name>Redmine</name>
|
4
|
+
<identifier>test-repo12</identifier>
|
5
|
+
<description>
|
6
|
+
Redmine is a flexible project management web application written using Ruby on Rails framework.
|
7
|
+
</description>
|
8
|
+
<homepage></homepage>
|
9
|
+
<created_on>Sat Sep 29 12:03:04 +0200 2007</created_on>
|
10
|
+
<updated_on>Sun Mar 15 12:35:11 +0100 2009</updated_on>
|
11
|
+
</project>
|
12
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<projects type="array">
|
2
|
+
<project>
|
3
|
+
<id>1</id>
|
4
|
+
<name>Redmine</name>
|
5
|
+
<identifier>redmine</identifier>
|
6
|
+
<description>
|
7
|
+
Redmine is a flexible project management web application written using Ruby on Rails framework.
|
8
|
+
</description>
|
9
|
+
<created_on>Sat Sep 29 12:03:04 +0200 2007</created_on>
|
10
|
+
<updated_on>Sun Mar 15 12:35:11 +0100 2009</updated_on>
|
11
|
+
</project>
|
12
|
+
<project>
|
13
|
+
<id>2</id>
|
14
|
+
<name>Redmine</name>
|
15
|
+
<identifier>redmine</identifier>
|
16
|
+
<description>
|
17
|
+
Redmine is a flexible project management web application written using Ruby on Rails framework.
|
18
|
+
</description>
|
19
|
+
<homepage></homepage>
|
20
|
+
<created_on>Sat Sep 29 12:03:04 +0200 2007</created_on>
|
21
|
+
<updated_on>Sun Mar 15 12:35:11 +0100 2009</updated_on>
|
22
|
+
</project>
|
23
|
+
</projects>
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe "Ticketmaster::Provider::Redmine::Project" do
|
4
|
+
before(:all) do
|
5
|
+
headers = {'Authorization' => 'Basic Y29yZWQ6MTIzNDU2', 'Accept' => 'application/xml'}
|
6
|
+
@project_id = 'test-repo12'
|
7
|
+
ActiveResource::HttpMock.respond_to do |mock|
|
8
|
+
mock.get '/projects.xml', headers, fixture_for('projects'), 200
|
9
|
+
mock.get '/projects/test-repo12.xml', headers, fixture_for('projects/test-repo12'), 200
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
before(:each) do
|
14
|
+
@ticketmaster = TicketMaster.new(:redmine, {:server => 'http://demo.redmine.org/', :username => 'cored', :password => '123456'})
|
15
|
+
@klass = TicketMaster::Provider::Redmine::Project
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should be able to load all projects" do
|
19
|
+
@ticketmaster.projects.should be_an_instance_of(Array)
|
20
|
+
@ticketmaster.projects.first.should be_an_instance_of(@klass)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should be able to load projects from an array of id's" do
|
24
|
+
@projects = @ticketmaster.projects([@project_id])
|
25
|
+
@projects.should be_an_instance_of(Array)
|
26
|
+
@projects.first.should be_an_instance_of(@klass)
|
27
|
+
@projects.first.identifier.should == @project_id
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should be able to load all projects from attributes" do
|
31
|
+
@projects = @ticketmaster.projects(:identifier => 'redmine')
|
32
|
+
@projects.should be_an_instance_of(Array)
|
33
|
+
@projects.first.should be_an_instance_of(@klass)
|
34
|
+
@projects.first.identifier.should == 'redmine'
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should be able to find a project" do
|
38
|
+
@ticketmaster.project.should == @klass
|
39
|
+
@ticketmaster.project.find(@project_id).should be_an_instance_of(@klass)
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should be able to find a project by identifier" do
|
43
|
+
@ticketmaster.project(@project_id).should be_an_instance_of(@klass)
|
44
|
+
@ticketmaster.project(@project_id).identifier.should == @project_id
|
45
|
+
end
|
46
|
+
end
|
data/spec/spec.opts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
|
+
require 'rubygems'
|
4
|
+
require 'ticketmaster'
|
5
|
+
require 'ticketmaster-redmine'
|
6
|
+
require 'spec'
|
7
|
+
require 'spec/autorun'
|
8
|
+
|
9
|
+
Spec::Runner.configure do |config|
|
10
|
+
|
11
|
+
end
|
12
|
+
|
13
|
+
def fixture_for(name)
|
14
|
+
File.read(File.dirname(__FILE__) + '/fixtures/' + name + '.xml')
|
15
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe "Ticketmaster::Provider::Redmine" do
|
4
|
+
|
5
|
+
it "should be able to instantiate a new instance" do
|
6
|
+
@ticketmaster = TicketMaster.new(:redmine, {:server => 'http://redmine.server', :username => 'cored', :password => 'afdd'})
|
7
|
+
@ticketmaster.should be_an_instance_of(TicketMaster)
|
8
|
+
@ticketmaster.should be_a_kind_of(TicketMaster::Provider::Redmine)
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe "Ticketmaster::Provider::Redmine::Ticket" do
|
4
|
+
before(:all) do
|
5
|
+
headers = {'Authorization' => 'Basic Y29yZWQ6MTIzNDU2', 'Accept' => 'application/xml'}
|
6
|
+
headers_post_put = {'Authorization' => 'Basic Y29yZWQ6MTIzNDU2', 'Content-Type' => 'application/xml'}
|
7
|
+
@project_id = 1
|
8
|
+
ActiveResource::HttpMock.respond_to do |mock|
|
9
|
+
mock.get '/projects.xml', headers, fixture_for('projects'), 200
|
10
|
+
mock.get '/projects/1.xml', headers, fixture_for('projects/test-repo12'), 200
|
11
|
+
mock.get '/issues.xml?project_id=1', headers, fixture_for('issues'), 200
|
12
|
+
mock.get '/issues.xml', headers, fixture_for('issues'), 200
|
13
|
+
mock.get '/issues/1.xml', headers, fixture_for('issues/1'), 200
|
14
|
+
mock.put '/issues/0.xml', headers_post_put, '', 200
|
15
|
+
mock.post '/issues.xml', headers_post_put, '', 200
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
before(:each) do
|
20
|
+
@ticketmaster = TicketMaster.new(:redmine, {:server => 'http://demo.redmine.org/', :username => 'cored', :password => '123456'})
|
21
|
+
@project = @ticketmaster.project(@project_id)
|
22
|
+
@klass = TicketMaster::Provider::Redmine::Ticket
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should be able to load all tickets" do
|
26
|
+
@project.tickets.should be_an_instance_of(Array)
|
27
|
+
@project.tickets.first.should be_an_instance_of(@klass)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should be able to load all tickets based on an array of id's" do
|
31
|
+
@tickets = @project.tickets([1])
|
32
|
+
@tickets.should be_an_instance_of(Array)
|
33
|
+
@tickets.first.should be_an_instance_of(@klass)
|
34
|
+
@tickets.first.subject.should == 'test-issue'
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should be able to load all tickets based on attributes" do
|
38
|
+
@tickets = @project.tickets(:id => 1)
|
39
|
+
@tickets.should be_an_instance_of(Array)
|
40
|
+
@tickets.first.should be_an_instance_of(@klass)
|
41
|
+
@tickets.first.subject.should == 'test-issue'
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should return the ticket class" do
|
45
|
+
@project.ticket.should == @klass
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should be able to load a single ticket" do
|
49
|
+
@ticket = @project.ticket(1)
|
50
|
+
@ticket.should be_an_instance_of(@klass)
|
51
|
+
@ticket.subject.should == 'test-issue'
|
52
|
+
end
|
53
|
+
|
54
|
+
it "shoule be able to load a single ticket based on attributes" do
|
55
|
+
@ticket = @project.ticket(:id => 1)
|
56
|
+
@ticket.should be_an_instance_of(@klass)
|
57
|
+
@ticket.subject.should == 'test-issue'
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should be able to update and save a ticket" do
|
61
|
+
@ticket = @project.ticket(1)
|
62
|
+
@ticket.description = 'hello'
|
63
|
+
@ticket.save.should == true
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should be able to create a ticket" do
|
67
|
+
@ticket = @project.ticket!(:subject => 'Ticket #12', :description => 'Body')
|
68
|
+
@ticket.should be_an_instance_of(@klass)
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
metadata
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ticketmaster-redmine
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Rafael George
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-12-23 00:00:00 -04:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: rspec
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 13
|
30
|
+
segments:
|
31
|
+
- 1
|
32
|
+
- 2
|
33
|
+
- 9
|
34
|
+
version: 1.2.9
|
35
|
+
type: :development
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: ticketmaster
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 27
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
- 1
|
49
|
+
- 0
|
50
|
+
version: 0.1.0
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: activesupport
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
hash: 7
|
62
|
+
segments:
|
63
|
+
- 2
|
64
|
+
- 3
|
65
|
+
- 2
|
66
|
+
version: 2.3.2
|
67
|
+
type: :runtime
|
68
|
+
version_requirements: *id003
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: activeresource
|
71
|
+
prerelease: false
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
hash: 7
|
78
|
+
segments:
|
79
|
+
- 2
|
80
|
+
- 3
|
81
|
+
- 2
|
82
|
+
version: 2.3.2
|
83
|
+
type: :runtime
|
84
|
+
version_requirements: *id004
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: addressable
|
87
|
+
prerelease: false
|
88
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
hash: 15
|
94
|
+
segments:
|
95
|
+
- 2
|
96
|
+
- 1
|
97
|
+
- 2
|
98
|
+
version: 2.1.2
|
99
|
+
type: :runtime
|
100
|
+
version_requirements: *id005
|
101
|
+
description: Allows ticketmaster to interact with Your System.
|
102
|
+
email: george.rafael@gmail.com
|
103
|
+
executables: []
|
104
|
+
|
105
|
+
extensions: []
|
106
|
+
|
107
|
+
extra_rdoc_files:
|
108
|
+
- LICENSE
|
109
|
+
- README.md
|
110
|
+
files:
|
111
|
+
- LICENSE
|
112
|
+
- README.md
|
113
|
+
- Rakefile
|
114
|
+
- VERSION
|
115
|
+
- lib/provider/comment.rb
|
116
|
+
- lib/provider/project.rb
|
117
|
+
- lib/provider/redmine.rb
|
118
|
+
- lib/provider/ticket.rb
|
119
|
+
- lib/redmine/redmine-api.rb
|
120
|
+
- lib/ticketmaster-redmine.rb
|
121
|
+
- spec/comments_spec.rb
|
122
|
+
- spec/fixtures/issues.xml
|
123
|
+
- spec/fixtures/issues/1.xml
|
124
|
+
- spec/fixtures/projects.xml
|
125
|
+
- spec/fixtures/projects/test-repo12.xml
|
126
|
+
- spec/projects_spec.rb
|
127
|
+
- spec/spec.opts
|
128
|
+
- spec/spec_helper.rb
|
129
|
+
- spec/ticketmaster-redmine_spec.rb
|
130
|
+
- spec/tickets_spec.rb
|
131
|
+
has_rdoc: true
|
132
|
+
homepage: http://bandw.tumblr.com
|
133
|
+
licenses: []
|
134
|
+
|
135
|
+
post_install_message:
|
136
|
+
rdoc_options: []
|
137
|
+
|
138
|
+
require_paths:
|
139
|
+
- lib
|
140
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
141
|
+
none: false
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
hash: 3
|
146
|
+
segments:
|
147
|
+
- 0
|
148
|
+
version: "0"
|
149
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
+
none: false
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
hash: 3
|
155
|
+
segments:
|
156
|
+
- 0
|
157
|
+
version: "0"
|
158
|
+
requirements: []
|
159
|
+
|
160
|
+
rubyforge_project:
|
161
|
+
rubygems_version: 1.3.7
|
162
|
+
signing_key:
|
163
|
+
specification_version: 3
|
164
|
+
summary: Ticketmaster Provider for Redmine
|
165
|
+
test_files:
|
166
|
+
- spec/comments_spec.rb
|
167
|
+
- spec/projects_spec.rb
|
168
|
+
- spec/spec_helper.rb
|
169
|
+
- spec/ticketmaster-redmine_spec.rb
|
170
|
+
- spec/tickets_spec.rb
|