has_vcards 0.11.1 → 0.12.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.
@@ -1,6 +1,6 @@
1
1
  class PhoneNumber < ActiveRecord::Base
2
2
  # Vcard association
3
- belongs_to :vcard
3
+ belongs_to :vcard, :inverse_of => :contacts
4
4
  belongs_to :object, :polymorphic => true
5
5
 
6
6
  # Validation
data/app/models/vcard.rb CHANGED
@@ -20,7 +20,6 @@ class Vcard < ActiveRecord::Base
20
20
 
21
21
  scope :active, :conditions => {:active => true}
22
22
  scope :by_name, lambda {|name| {:conditions => self.by_name_conditions(name)}}
23
- scope :with_address, joins(:address)
24
23
 
25
24
  belongs_to :object, :polymorphic => true
26
25
 
@@ -73,50 +72,14 @@ class Vcard < ActiveRecord::Base
73
72
  end
74
73
 
75
74
  # Phone numbers
76
- has_many :contacts, :class_name => 'PhoneNumber', :as => :object
77
- accepts_nested_attributes_for :contacts
78
-
79
- has_many :phone_numbers, :class_name => 'PhoneNumber', :as => :object, :conditions => ["phone_number_type = ?", 'phone'], :after_add => :add_phone_number
80
- def add_phone_number(number)
81
- number.phone_number_type = 'phone'
82
- number.save
83
- end
84
-
85
- def phone_number
86
- phone_numbers.first
87
- end
88
-
89
- def phone_number=(number)
90
- phone_numbers.build(:number => number, :phone_number_type => 'phone')
91
- end
92
-
93
- has_many :mobile_numbers, :class_name => 'PhoneNumber', :as => :object, :conditions => ["phone_number_type = ?", 'mobile'], :after_add => :add_mobile_number
94
- def add_mobile_number(number)
95
- number.phone_number_type = 'mobile'
96
- number.save
97
- end
98
-
99
- def mobile_number
100
- mobile_numbers.first
101
- end
102
-
103
- def mobile_number=(number)
104
- mobile_numbers.build(:number => number, :phone_number_type => 'mobile')
105
- end
106
-
107
- has_many :fax_numbers, :class_name => 'PhoneNumber', :as => :object, :conditions => ["phone_number_type = ?", 'fax'], :after_add => :add_fax_number
108
- def add_fax_number(number)
109
- number.phone_number_type = 'fax'
110
- number.save
111
- end
112
-
113
- def fax_number
114
- fax_numbers.first
115
- end
116
-
117
- def fax_number=(number)
118
- fax_numbers.build(:number => number, :phone_number_type => 'fax')
75
+ has_many :contacts, :class_name => 'PhoneNumber', :as => :object, :inverse_of => :vcard do
76
+ def build_defaults
77
+ ['Tel. geschäft', 'Tel. privat', 'Handy', 'E-Mail'].map{ |phone_number_type|
78
+ build(:phone_number_type => phone_number_type) unless exists?(:phone_number_type => phone_number_type)
79
+ }
80
+ end
119
81
  end
82
+ accepts_nested_attributes_for :contacts, :reject_if => proc {|attributes| attributes['number'].blank? }
120
83
 
121
84
  # Salutation
122
85
  def salutation
@@ -1,3 +1,3 @@
1
1
  module HasVcards
2
- VERSION = '0.11.1'
2
+ VERSION = '0.12.0'
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_vcards
3
3
  version: !ruby/object:Gem::Version
4
- hash: 49
5
- prerelease:
4
+ hash: 47
5
+ prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 11
9
- - 1
10
- version: 0.11.1
8
+ - 12
9
+ - 0
10
+ version: 0.12.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - "Simon H\xC3\xBCrlimann (CyT)"
@@ -15,7 +15,8 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-12-21 00:00:00 Z
18
+ date: 2011-11-21 00:00:00 +01:00
19
+ default_executable:
19
20
  dependencies: []
20
21
 
21
22
  description: Rails gem providing VCard like contact and address models and helpers.
@@ -47,6 +48,7 @@ files:
47
48
  - lib/has_vcards/railtie.rb
48
49
  - lib/has_vcards/version.rb
49
50
  - README.markdown
51
+ has_rdoc: true
50
52
  homepage: https://github.com/huerlisi/bookyt_pos
51
53
  licenses: []
52
54
 
@@ -76,10 +78,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
78
  requirements: []
77
79
 
78
80
  rubyforge_project:
79
- rubygems_version: 1.8.10
81
+ rubygems_version: 1.3.7
80
82
  signing_key:
81
83
  specification_version: 3
82
84
  summary: VCard rails plugin
83
85
  test_files: []
84
86
 
85
- has_rdoc: