module Invoicexpress::Client::Sequences
Public Instance Methods
Creates a new sequence.
@param sequence [Invoicexpress::Models::Sequence] The sequence to create @return Invoicexpress::Models::Sequence
The sequence @raise Invoicexpress::Unauthorized
When the client is unauthorized @raise Invoicexpress::UnprocessableEntity
When there are errors on the submission
# File lib/invoicexpress/client/sequences.rb, line 33 def create_sequence(sequence, options={}) raise(ArgumentError, "sequence has the wrong type") unless sequence.is_a?(Invoicexpress::Models::Sequence) params = { :klass => Invoicexpress::Models::Sequence, :body => sequence } post("sequences.xml", params.merge(options)) end
Returns a specific sequence.
@param sequence [Invoicexpress::Models::Sequence, String] The sequence or sequence ID @return Invoicexpress::Models::Sequence
The sequence @raise Invoicexpress::Unauthorized
When the client is unauthorized @raise Invoicexpress::NotFound
When the sequence doesn't exist
# File lib/invoicexpress/client/sequences.rb, line 21 def sequence(sequence, options={}) params = { :klass => Invoicexpress::Models::Sequence } get("sequences/#{id_from_sequence(sequence)}.xml", params.merge(options)) end
Returns all your sequences.
@return [Array<Invoicexpress::Models::Sequence>] An array with all the sequences @raise Invoicexpress::Unauthorized
When the client is unauthorized
# File lib/invoicexpress/client/sequences.rb, line 9 def sequences(options = {}) params = { :klass => Invoicexpress::Models::Sequence } get("sequences.xml", params.merge(options)) end
Updates a specific sequence. Only sequences with no finalized invoices can be updated.
@param sequence [Invoicexpress::Models::Sequence] The sequence to update @raise Invoicexpress::Unauthorized
When the client is unauthorized @raise Invoicexpress::NotFound
When the sequence doesn't exist @raise Invoicexpress::UnprocessableEntity
When there are errors on the submission
# File lib/invoicexpress/client/sequences.rb, line 47 def update_sequence(sequence, options={}) raise(ArgumentError, "sequence has the wrong type") unless sequence.is_a?(Invoicexpress::Models::Sequence) if !sequence.id raise ArgumentError, "Sequence ID is required" end params = { :klass => Invoicexpress::Models::Sequence, :body => sequence } put("sequences/#{sequence.id}.xml", params.merge(options)) end
Private Instance Methods
# File lib/invoicexpress/client/sequences.rb, line 57 def id_from_sequence(item) if item.is_a?(Invoicexpress::Models::Sequence) item.id elsif item.is_a?(String) item elsif item.is_a?(Integer) item.to_s else raise ArgumentError, "Cannot get sequence id from #{item}" end end