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 +6 -0
- data/README.rdoc +0 -0
- data/Rakefile +14 -0
- data/formatted_phone_number.gemspec +29 -0
- data/lib/formatted_phone_number/builder.rb +13 -0
- data/lib/formatted_phone_number/formatted_phone_number.rb +37 -0
- data/lib/formatted_phone_number.rb +15 -0
- metadata +68 -0
data/Manifest
ADDED
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
|
+
|