Class: SFanalytics::SFa
- Inherits:
-
Object
- Object
- SFanalytics::SFa
- Defined in:
- lib/sfanalytics.rb
Instance Attribute Summary collapse
-
#analytics_id ⇒ Object
readonly
Returns the value of attribute analytics_id.
-
#line_items ⇒ Object
readonly
Returns the value of attribute line_items.
-
#transaction ⇒ Object
readonly
Returns the value of attribute transaction.
-
#transaction_id ⇒ Object
readonly
Returns the value of attribute transaction_id.
Instance Method Summary collapse
- #add_line_item(item) ⇒ Object
- #add_transaction(transaction) ⇒ Object
- #generate(analytics_id) ⇒ Object
-
#initialize ⇒ SFa
constructor
A new instance of SFa.
Constructor Details
#initialize ⇒ SFa
Returns a new instance of SFa.
12 13 14 |
# File 'lib/sfanalytics.rb', line 12 def initialize() @line_items = '' end |
Instance Attribute Details
#analytics_id ⇒ Object (readonly)
Returns the value of attribute analytics_id.
5 6 7 |
# File 'lib/sfanalytics.rb', line 5 def analytics_id @analytics_id end |
#line_items ⇒ Object (readonly)
Returns the value of attribute line_items.
5 6 7 |
# File 'lib/sfanalytics.rb', line 5 def line_items @line_items end |
#transaction ⇒ Object (readonly)
Returns the value of attribute transaction.
5 6 7 |
# File 'lib/sfanalytics.rb', line 5 def transaction @transaction end |
#transaction_id ⇒ Object (readonly)
Returns the value of attribute transaction_id.
5 6 7 |
# File 'lib/sfanalytics.rb', line 5 def transaction_id @transaction_id end |
Instance Method Details
#add_line_item(item) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/sfanalytics.rb', line 50 def add_line_item(item) raise "No Transaction Defined" unless(@transaction) template = File.read(File.dirname(__FILE__) + '/../templates/line_item.html.haml') obj = Object.new Haml::Engine.new(template).def_method(obj, :render, :transaction, :item) @line_items << obj.render( :transaction => @transaction_id, :item => item ) return true end |
#add_transaction(transaction) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/sfanalytics.rb', line 35 def add_transaction(transaction) template = File.read(File.dirname(__FILE__) + '/../templates/transaction.html.haml') obj = Object.new Haml::Engine.new(template).def_method(obj, :render, :analytics_id, :transaction) @transaction = obj.render( :analytics_id => @analytics_id, :transaction => transaction ) @transaction_id = transaction[:id] return true end |
#generate(analytics_id) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/sfanalytics.rb', line 16 def generate(analytics_id) template = File.read(File.dirname(__FILE__) + '/../templates/analytics.html.haml') raise ArgumentError.new if ! analytics_id.match(/UA-\d{0,8}-\d{0,3}/) @analytics_id = analytics_id obj = Object.new Haml::Engine.new(template).def_method(obj, :render, :analytics_id, :analytics_transaction, :line_items) return obj.render( :analytics_id => @analytics_id, :analytics_transaction => @transaction, :line_items => @line_items ) obj = Object.new Haml::Engine.new(template).def_method(obj, :render, :analytics_id) return obj.render(:analytics_id => "Hello!") end |