activerecord-jdbcteradata-adapter 0.3.8 → 0.3.9

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/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- activerecord-jdbcteradata-adapter (0.3.7)
4
+ activerecord-jdbcteradata-adapter (0.3.8)
5
5
  activerecord
6
6
  activerecord-jdbc-adapter
7
7
  jdbc-teradata
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "activerecord-jdbcteradata-adapter"
3
- s.version = "0.3.8"
3
+ s.version = "0.3.9"
4
4
  s.authors = ["Chris Parker"]
5
5
  s.email = [ "mrcsparker@gmail.com"]
6
6
  s.homepage = "https://github.com/mrcsparker/activerecord-jdbcteradata-adapter"
@@ -101,10 +101,14 @@ module ::ArJdbc
101
101
 
102
102
  #- execute
103
103
  def _execute(sql, name = nil)
104
- result = super
105
- self.class.insert?(sql) ? last_insert_id(_table_name_from_insert(sql)) : result
104
+ if self.class.select?(sql)
105
+ @connection.execute_query(sql)
106
+ elsif self.class.insert?(sql)
107
+ (@connection.execute_insert(sql) or last_insert_id(sql)).to_i
108
+ else
109
+ @connection.execute_update(sql)
110
+ end
106
111
  end
107
- private :_execute
108
112
 
109
113
  def _table_name_from_insert(sql)
110
114
  sql.split(' ', 4)[2].gsub('"', '').gsub("'", '')
@@ -8,6 +8,7 @@ describe 'AssociationsSpec' do
8
8
  CreateProducts.up
9
9
  CreatePurchaseOrders.up
10
10
  CreateOrderLineItems.up
11
+ CreateOrderFeelings.up
11
12
  end
12
13
 
13
14
  it 'should create all of the tables' do
@@ -28,7 +29,7 @@ describe 'AssociationsSpec' do
28
29
  end
29
30
 
30
31
  describe '#accepts_nested_attibutes_for' do
31
- it 'should be able to create a purchase_order with line_items' do
32
+ it 'it has_many' do
32
33
  vendor = Vendor.new(:name => 'Test vendor', :catch_phrase => 'Hello, world')
33
34
  vendor.products.build(:name => 'Test product', :price => 100.00)
34
35
  vendor.save
@@ -45,6 +46,44 @@ describe 'AssociationsSpec' do
45
46
  purchase_order = PurchaseOrder.create(params[:purchase_order])
46
47
  purchase_order.order_line_items.size.should == 1
47
48
  end
49
+
50
+ it 'it has_one#create' do
51
+ vendor = Vendor.new(:name => 'Test vendor', :catch_phrase => 'Hello, world')
52
+ vendor.products.build(:name => 'Test product', :price => 100.00)
53
+ vendor.save
54
+
55
+ params = { :purchase_order => {
56
+ :product_id => vendor.products.first.id,
57
+ :code => 'Order 2',
58
+ :quantity => 1,
59
+ :order_feeling_attributes =>
60
+ { :status => 'Wonderful' }
61
+
62
+ } }
63
+
64
+ purchase_order = PurchaseOrder.create(params[:purchase_order])
65
+ purchase_order.order_feeling.status.should eq('Wonderful')
66
+ end
67
+
68
+ it 'it has_one#new' do
69
+ vendor = Vendor.new(:name => 'Test vendor', :catch_phrase => 'Hello, world')
70
+ vendor.products.build(:name => 'Test product', :price => 100.00)
71
+ vendor.save
72
+
73
+ params = { :purchase_order => {
74
+ :product_id => vendor.products.first.id,
75
+ :code => 'Order 3',
76
+ :quantity => 1,
77
+ :order_feeling_attributes =>
78
+ { :status => 'Wonderful' }
79
+
80
+ } }
81
+
82
+ purchase_order = PurchaseOrder.new(params[:purchase_order])
83
+ purchase_order.save
84
+ purchase_order.order_feeling.status.should eq('Wonderful')
85
+ end
86
+
48
87
  end
49
88
 
50
89
  after(:all) do
@@ -52,5 +91,6 @@ describe 'AssociationsSpec' do
52
91
  CreateProducts.down
53
92
  CreatePurchaseOrders.down
54
93
  CreateOrderLineItems.down
94
+ CreateOrderFeelings.down
55
95
  end
56
96
  end
@@ -44,6 +44,21 @@ class CreatePurchaseOrders < ActiveRecord::Migration
44
44
  end
45
45
  end
46
46
 
47
+ class CreateOrderFeelings < ActiveRecord::Migration
48
+ def self.up
49
+ create_table :order_feelings do |t|
50
+ t.integer :purchase_order_id, :null => false
51
+ t.string :status, :null => false
52
+ end
53
+
54
+ add_index :order_feelings, :purchase_order_id, :name => 'idx_order_feelings_po_id'
55
+ end
56
+
57
+ def self.down
58
+ drop_table :order_feelings
59
+ end
60
+ end
61
+
47
62
  class CreateOrderLineItems < ActiveRecord::Migration
48
63
  def self.up
49
64
  create_table :order_line_items do |t|
@@ -70,6 +85,10 @@ class Product < ActiveRecord::Base
70
85
  has_many :purchase_orders
71
86
  end
72
87
 
88
+ class OrderFeeling < ActiveRecord::Base
89
+ belongs_to :purchase_order
90
+ end
91
+
73
92
  class OrderLineItem < ActiveRecord::Base
74
93
  belongs_to :purchase_order
75
94
  end
@@ -78,5 +97,7 @@ class PurchaseOrder < ActiveRecord::Base
78
97
  belongs_to :product
79
98
  has_many :order_line_items, :dependent => :destroy
80
99
  accepts_nested_attributes_for :order_line_items, :allow_destroy => true
100
+ has_one :order_feeling, :dependent => :destroy
101
+ accepts_nested_attributes_for :order_feeling, :allow_destroy => true
81
102
  end
82
103
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-jdbcteradata-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.8
4
+ version: 0.3.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: