formatted_phone_number 0.1.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.
data/Manifest ADDED
@@ -0,0 +1,6 @@
1
+ Manifest
2
+ README.rdoc
3
+ Rakefile
4
+ lib/formatted_phone_number.rb
5
+ lib/formatted_phone_number/builder.rb
6
+ lib/formatted_phone_number/formatted_phone_number.rb
data/README.rdoc ADDED
File without changes
data/Rakefile ADDED
@@ -0,0 +1,14 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'echoe'
4
+
5
+ Echoe.new("formatted_phone_number", '0.1.0') do |p|
6
+ p.description = "Phone number handler for ActiveRecord models"
7
+ p.url = "http://github.com/jonohrt/formatted_phone_number"
8
+ p.author = "Jon Ohrt"
9
+ p.email = "jonohrt1@gmail.com"
10
+ p.ignore_pattern = ["tmp/*", "script/*"]
11
+ p.development_dependencies = []
12
+ end
13
+
14
+ Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
@@ -0,0 +1,29 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{formatted_phone_number}
5
+ s.version = "0.1.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
+ s.authors = [%q{Jon Ohrt}]
9
+ s.date = %q{2011-08-12}
10
+ s.description = %q{Phone number handler for ActiveRecord models}
11
+ s.email = %q{jonohrt1@gmail.com}
12
+ s.extra_rdoc_files = [%q{README.rdoc}, %q{lib/formatted_phone_number.rb}, %q{lib/formatted_phone_number/builder.rb}, %q{lib/formatted_phone_number/formatted_phone_number.rb}]
13
+ s.files = [%q{Manifest}, %q{README.rdoc}, %q{Rakefile}, %q{lib/formatted_phone_number.rb}, %q{lib/formatted_phone_number/builder.rb}, %q{lib/formatted_phone_number/formatted_phone_number.rb}, %q{formatted_phone_number.gemspec}]
14
+ s.homepage = %q{http://github.com/jonohrt/formatted_phone_number}
15
+ s.rdoc_options = [%q{--line-numbers}, %q{--inline-source}, %q{--title}, %q{Formatted_phone_number}, %q{--main}, %q{README.rdoc}]
16
+ s.require_paths = [%q{lib}]
17
+ s.rubyforge_project = %q{formatted_phone_number}
18
+ s.rubygems_version = %q{1.8.8}
19
+ s.summary = %q{Phone number handler for ActiveRecord models}
20
+
21
+ if s.respond_to? :specification_version then
22
+ s.specification_version = 3
23
+
24
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
+ else
26
+ end
27
+ else
28
+ end
29
+ end
@@ -0,0 +1,13 @@
1
+ module FormattedPhoneNumber
2
+ module FormBuilder
3
+ def phone_number_fields
4
+ content = "("
5
+ content += @template.text_field(@object_name, :phone_area_code, { :size => 3, :maxlength => 3, :class => "phone_field"})
6
+ content += ")"
7
+ content += @template.text_field(@object_name, :phone_prefix, { :size => 3, :maxlength => 3, :class => "phone_field"})
8
+ content += " - "
9
+ content += @template.text_field(@object_name, :phone_suffix, { :size => 4, :maxlength => 4, :class => "phone_field"})
10
+ content.html_safe
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,37 @@
1
+ module FormattedPhoneNumber
2
+
3
+ def self.included(base)
4
+ base.send(:extend, self)
5
+ end
6
+
7
+ def has_formatted_phone_number(phone_number_column)
8
+ self.send "attr_writer", :phone_area_code, :phone_prefix, :phone_suffix
9
+ self.send "before_validation", "update_phone_number"
10
+ self.send 'cattr_accessor', :phone_column
11
+ self.instance_eval do
12
+ self.phone_column = phone_number_column
13
+ end
14
+ include InstanceMethods
15
+ end
16
+
17
+ module InstanceMethods
18
+ def phone_area_code
19
+ self.send(self.class.phone_column).split('-')[0] if self.send(self.class.phone_column)
20
+ end
21
+
22
+ def phone_prefix
23
+ self.send(self.class.phone_column).split('-')[1] if self.send(self.class.phone_column)
24
+ end
25
+
26
+ def phone_suffix
27
+ self.send(self.class.phone_column).split('-')[2] if self.send(self.class.phone_column)
28
+ end
29
+
30
+ def update_phone_number
31
+ if @phone_area_code && @phone_prefix && @phone_suffix
32
+ self.update_attribute(self.class.phone_column.to_sym, "#{@phone_area_code}-#{@phone_prefix}-#{@phone_suffix}")
33
+ end
34
+ end
35
+ end
36
+ end
37
+
@@ -0,0 +1,15 @@
1
+ require File.join(File.dirname(__FILE__), 'formatted_phone_number', 'builder')
2
+ require File.join(File.dirname(__FILE__), 'formatted_phone_number', 'formatted_phone_number')
3
+
4
+ module FormattedPhoneNumber
5
+ class Railtie < Rails::Railtie
6
+ #ActionController::Base.helper(LRD::ViewHelper)
7
+ #ActionController::Base.helper(LRD::DebugHelper)
8
+ class ActiveRecord::Base
9
+ include FormattedPhoneNumber
10
+ end
11
+ initializer "my_gem.view_helpers" do
12
+ ActionView::Helpers::FormBuilder.send(:include, FormattedPhoneNumber::FormBuilder)
13
+ end
14
+ end
15
+ end
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: formatted_phone_number
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.0
6
+ platform: ruby
7
+ authors:
8
+ - Jon Ohrt
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-08-12 00:00:00 Z
14
+ dependencies: []
15
+
16
+ description: Phone number handler for ActiveRecord models
17
+ email: jonohrt1@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - README.rdoc
24
+ - lib/formatted_phone_number.rb
25
+ - lib/formatted_phone_number/builder.rb
26
+ - lib/formatted_phone_number/formatted_phone_number.rb
27
+ files:
28
+ - Manifest
29
+ - README.rdoc
30
+ - Rakefile
31
+ - lib/formatted_phone_number.rb
32
+ - lib/formatted_phone_number/builder.rb
33
+ - lib/formatted_phone_number/formatted_phone_number.rb
34
+ - formatted_phone_number.gemspec
35
+ homepage: http://github.com/jonohrt/formatted_phone_number
36
+ licenses: []
37
+
38
+ post_install_message:
39
+ rdoc_options:
40
+ - --line-numbers
41
+ - --inline-source
42
+ - --title
43
+ - Formatted_phone_number
44
+ - --main
45
+ - README.rdoc
46
+ require_paths:
47
+ - lib
48
+ required_ruby_version: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: "1.2"
60
+ requirements: []
61
+
62
+ rubyforge_project: formatted_phone_number
63
+ rubygems_version: 1.8.8
64
+ signing_key:
65
+ specification_version: 3
66
+ summary: Phone number handler for ActiveRecord models
67
+ test_files: []
68
+