active_force 0.5.0 → 0.6.0

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.
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+ require 'active_force/table'
3
+
4
+ describe ActiveForce::Table do
5
+ describe '#table_name' do
6
+
7
+ let(:table) { ActiveForce::Table }
8
+
9
+ it 'Use the class name adding "__c"' do
10
+ expect(table.new('Custom').name).to eq('Custom__c')
11
+ end
12
+
13
+ it 'with standard SObject types it does not add the "__c"' do
14
+ expect(table.new('Account').name).to eq('Account')
15
+ end
16
+
17
+ context 'with a namespace' do
18
+ it "the namespace is not included" do
19
+ expect(table.new('Foo::Bar').name).to eq('Bar__c')
20
+ end
21
+
22
+ it 'standard types are inferred correctly' do
23
+ expect(table.new('Foo::Account').name).to eq('Account')
24
+ end
25
+ end
26
+
27
+ end
28
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_force
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Espinaco
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-08-26 00:00:00.000000000 Z
14
+ date: 2014-09-01 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: active_attr
@@ -121,15 +121,19 @@ files:
121
121
  - lib/active_force/association/has_many_association.rb
122
122
  - lib/active_force/query.rb
123
123
  - lib/active_force/sobject.rb
124
+ - lib/active_force/standard_types.rb
125
+ - lib/active_force/table.rb
124
126
  - lib/active_force/version.rb
125
- - lib/generators/active_force/active_force_model/USAGE
126
- - lib/generators/active_force/active_force_model/active_force_model_generator.rb
127
- - lib/generators/active_force/active_force_model/templates/model.rb.erb
127
+ - lib/generators/active_force/model/USAGE
128
+ - lib/generators/active_force/model/model_generator.rb
129
+ - lib/generators/active_force/model/templates/model.rb.erb
128
130
  - spec/active_force/active_query_spec.rb
129
131
  - spec/active_force/association_spec.rb
132
+ - spec/active_force/callbacks_spec.rb
130
133
  - spec/active_force/query_spec.rb
131
134
  - spec/active_force/sobject/table_name_spec.rb
132
135
  - spec/active_force/sobject_spec.rb
136
+ - spec/active_force/table_spec.rb
133
137
  - spec/active_force_spec.rb
134
138
  - spec/fixtures/sobject/single_sobject_hash.yml
135
139
  - spec/spec_helper.rb
@@ -145,9 +149,9 @@ require_paths:
145
149
  - lib
146
150
  required_ruby_version: !ruby/object:Gem::Requirement
147
151
  requirements:
148
- - - "~>"
152
+ - - ">="
149
153
  - !ruby/object:Gem::Version
150
- version: '2.0'
154
+ version: 1.9.3
151
155
  required_rubygems_version: !ruby/object:Gem::Requirement
152
156
  requirements:
153
157
  - - ">="
@@ -162,12 +166,13 @@ summary: Help you implement models persisting on Sales Force within Rails using
162
166
  test_files:
163
167
  - spec/active_force/active_query_spec.rb
164
168
  - spec/active_force/association_spec.rb
169
+ - spec/active_force/callbacks_spec.rb
165
170
  - spec/active_force/query_spec.rb
166
171
  - spec/active_force/sobject/table_name_spec.rb
167
172
  - spec/active_force/sobject_spec.rb
173
+ - spec/active_force/table_spec.rb
168
174
  - spec/active_force_spec.rb
169
175
  - spec/fixtures/sobject/single_sobject_hash.yml
170
176
  - spec/spec_helper.rb
171
177
  - spec/support/fixture_helpers.rb
172
178
  - spec/support/whizbang.rb
173
- has_rdoc:
@@ -1,47 +0,0 @@
1
- module ActiveForce
2
- class ActiveForceModelGenerator < Rails::Generators::NamedBase
3
-
4
- source_root File.expand_path('../templates', __FILE__)
5
-
6
- def create_model_file
7
-
8
- sf_field_names = list_field_names file_name.capitalize
9
- @attributes = create_attributes sf_field_names
10
-
11
- template "model.rb.erb", "app/models/#{file_name}.rb"
12
- end
13
-
14
- protected
15
-
16
- Attribute = Struct.new(:local_name, :remote_name)
17
-
18
- def create_attributes sf_field_names
19
- sf_field_names.map do |field|
20
- Attribute.new( sf_name_to_symbol(field) ,field)
21
- end
22
- end
23
-
24
- def list_field_names table_name
25
- Client.describe(table_name).fields.map do |field|
26
- field.name
27
- end
28
- end
29
-
30
- def sf_name_to_symbol sf_name
31
- sf_name = sf_name.underscore
32
- sf_name = sf_name[0..-4] if sf_name.include? "__c"
33
- sf_name.to_sym
34
- end
35
-
36
- class String
37
- def underscore
38
- self.gsub(/::/, '/').
39
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
40
- gsub(/([a-z\d])([A-Z])/,'\1_\2').
41
- tr("-", "_").
42
- downcase
43
- end
44
- end
45
-
46
- end
47
- end
@@ -1,11 +0,0 @@
1
- require 'active_force/sobject'
2
-
3
- class <%= class_name %> < ActiveForce::SObject
4
-
5
- <% @attributes.each do |attribute| -%>
6
- field :<%= attribute.local_name %>, from: '<%= attribute.remote_name %>',
7
- <% end -%>
8
-
9
- self.table_name = '<%= class_name %>'
10
-
11
- end