Skip to content

Commit

Permalink
added in stuff for testing, and started on grabbing events
Browse files Browse the repository at this point in the history
  • Loading branch information
jwoertink committed Nov 20, 2012
1 parent e1bfd68 commit 3dee699
Show file tree
Hide file tree
Showing 13 changed files with 163 additions and 4 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
.config
.yardoc
.DS_Store
.rvmrc
Gemfile.lock
InstalledFiles
_yardoc
Expand Down
21 changes: 21 additions & 0 deletions .pryrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env ruby
# -*- mode: ruby -*-
# vi: set ft=ruby :

require 'rubygems'
require 'bundler'
begin
Bundler.setup(:default, :development)
rescue Bundler::BundlerError => e
$stderr.puts e.message
$stderr.puts "Run `bundle install` to install missing gems"
exit e.status_code
end

require 'pathname'
$LOAD_PATH.unshift(Pathname.getwd.join('lib').to_s)
require 'ticketsnow-ruby'

def reload!
Dir["#{Dir.pwd}/lib/**/*.rb"].each { |f| load f }
end
1 change: 1 addition & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--color --format nested
3 changes: 3 additions & 0 deletions .yardopts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
--title 'ticketsnow-ruby Documentation'
--charset utf-8
--markup markdown
16 changes: 16 additions & 0 deletions Guardfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
guard 'bundler' do
watch('Gemfile')
watch('ticketsnow-ruby.gemspec')
end

guard 'rspec' do
watch(%r{^spec/.+_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
watch('spec/spec_helper.rb') { "spec" }
end

guard 'yard' do
watch(%r{app/.+\.rb})
watch(%r{lib/.+\.rb})
watch(%r{ext/.+\.c})
end
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Ticketsnow::Ruby
# Ticketsnow-ruby

TODO: Write a gem description
gem to interface with the TicketsNow.com SOAP API

## Installation

Expand Down
30 changes: 29 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
@@ -1,2 +1,30 @@
#!/usr/bin/env rake
require "bundler/gem_tasks"
require 'rubygems'
require 'bundler'
begin
Bundler.setup(:default, :development)
rescue Bundler::BundlerError => e
$stderr.puts e.message
$stderr.puts "Run `bundle install` to install missing gems"
exit e.status_code
end
require 'rake'
require 'bundler/gem_tasks'

require 'rspec/core'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |spec|
spec.pattern = FileList['spec/**/*_spec.rb']
end

task :default => :spec

require 'yard'
YARD::Rake::YardocTask.new

desc 'Start Pry with all runtime dependencies loaded'
task :console, :script do |t, args|
command = 'bundle exec pry'
command += "-r #{args[:script]}" if args[:script]
sh command
end
17 changes: 16 additions & 1 deletion lib/ticketsnow.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
require 'ticketsnow/version'
require 'ticketsnow/exceptions'
require 'ticketsnow/base'
require 'ticketsnow/connection'

module Ticketnow
module Ticketsnow

class << self
attr_accessor :test_mode, :api_key

def configure
yield self
self.test_mode ||= false
Base.token = api_key
Base.endpoint = "http://services.#{ test_mode ? 'preview.' : '' }eventinventory.com/webservices/ticketsearch.asmx?wsdl"
end

end

end
15 changes: 15 additions & 0 deletions lib/ticketsnow/base.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
require 'savon'

module Ticketsnow
class Base
@@current_connection = nil

DEFAULT_OPTIONS = {:body => {"APPCLIENT_ID" => token}}

class << self
attr_accessor :token, :endpoint
end


end
end
22 changes: 22 additions & 0 deletions lib/ticketsnow/connection.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
module Ticketsnow

class Connection < Ticketsnow::Base

def self.ensure_connection!
new unless @@current_connection
end

def initialize
raise ConnectionError, "You must Configure Ticketsnow first." if Base.endpoint.nil?
@url = Base.endpoint
@client = Savon.client(@url)
@@current_connection = @client if @client.wsdl.document?
end

def client
@client
end

end

end
14 changes: 14 additions & 0 deletions lib/ticketsnow/event.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module Ticketsnow
class Event < Ticketsnow::Connection

class << self

def all
ensure_connection!
@@current_connection.client.request(:wsdl, :get_event_list, DEFAULT_OPTIONS)
end

end

end
end
5 changes: 5 additions & 0 deletions lib/ticketsnow/exceptions.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module Ticketsnow

class ConnectionError < StandardError; end

end
18 changes: 18 additions & 0 deletions ticketsnow-ruby.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,25 @@ Gem::Specification.new do |gem|
gem.version = Ticketsnow::VERSION
gem.add_dependency 'savon', '1.2.0'

# Basic
gem.add_development_dependency 'rake'
gem.add_development_dependency 'bundler'
gem.add_development_dependency 'yard'
gem.add_development_dependency 'redcarpet'

# Testing
gem.add_development_dependency 'rspec'
gem.add_development_dependency 'simplecov'
gem.add_development_dependency 'vcr'
gem.add_development_dependency 'webmock'

# Development tools & helpers
gem.add_development_dependency 'pry'
gem.add_development_dependency 'guard'
gem.add_development_dependency 'guard-bundler'
gem.add_development_dependency 'guard-rspec'
gem.add_development_dependency 'guard-yard'
gem.add_development_dependency 'rb-fsevent'
gem.add_development_dependency 'rb-inotify'
gem.add_development_dependency 'growl'
end

0 comments on commit 3dee699

Please sign in to comment.