safai 0.0.24 → 0.0.25
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/lib/safai.rb +117 -6
- data/lib/safai/address.rb +0 -0
- data/lib/safai/clean.rb +0 -0
- data/lib/safai/date.rb +0 -0
- data/lib/safai/gravatar.rb +0 -0
- data/lib/safai/money.rb +0 -0
- data/lib/safai/regex.rb +0 -0
- data/lib/safai/spreadsheet.rb +0 -0
- metadata +4 -58
- data/generators/safai/safai_generator.rb +0 -9
- data/generators/safai/templates/migration.rb +0 -10
- data/generators/safai/templates/model.rb +0 -38
- data/init.rb +0 -1
- data/lib/safai/fires.rb +0 -37
- data/safai.gemspec +0 -32
data/lib/safai.rb
CHANGED
@@ -1,3 +1,119 @@
|
|
1
|
+
class Safai
|
2
|
+
|
3
|
+
#======================================
|
4
|
+
|
5
|
+
module Helpers
|
6
|
+
|
7
|
+
require 'money'
|
8
|
+
|
9
|
+
def f(ff)
|
10
|
+
sprintf("%0.02f", ff)
|
11
|
+
end
|
12
|
+
|
13
|
+
def title(page_title)
|
14
|
+
content_for(:title) { page_title }
|
15
|
+
end
|
16
|
+
|
17
|
+
def smart_date(i)
|
18
|
+
return "" if i.blank?
|
19
|
+
i.year == Time.now.year ? i.strftime("%d-%b") : i.strftime("%d-%b-%Y")
|
20
|
+
end
|
21
|
+
|
22
|
+
def smart_due_date(i)
|
23
|
+
if i == nil
|
24
|
+
return ""
|
25
|
+
elsif i.class.to_s == "Time" or i.class.to_s == "ActiveSupport::TimeWithZone"
|
26
|
+
i = i.to_date
|
27
|
+
end
|
28
|
+
if Date.today == i
|
29
|
+
return "<span style=\"background-color:#F7FAB9;padding:0px 2px 0px 2px;\">Today</span>"
|
30
|
+
elsif i - Date.today == 1
|
31
|
+
return "<span style=\"background-color:#F7FAB9;padding:0px 2px 0px 2px;\">Tomorrow</span>"
|
32
|
+
elsif Date.today - i > 0.9
|
33
|
+
return "<span style=\"background-color:#FFC7C7;padding:0px 2px 0px 2px;\">" + smart_date(i) + "</span>"
|
34
|
+
elsif Date.today - i < 1
|
35
|
+
return "<span style=\"background-color:#D2FFCC;padding:0px 2px 0px 2px;\">" + smart_date(i) + "</span>"
|
36
|
+
end
|
37
|
+
return smart_date(i)
|
38
|
+
end
|
39
|
+
|
40
|
+
def location_summary(u)
|
41
|
+
return Safai::Address.to_s(u)
|
42
|
+
end
|
43
|
+
|
44
|
+
def location_summary_short(u)
|
45
|
+
return Safai::Address.gist(u)
|
46
|
+
end
|
47
|
+
|
48
|
+
def location_map(u)
|
49
|
+
return Safai::Address.map(u, 300, 95)
|
50
|
+
end
|
51
|
+
|
52
|
+
def amt2(c, amount)
|
53
|
+
m = Money::Currency.new(c)
|
54
|
+
amount = sprintf("%0.02f", amount)
|
55
|
+
if !m.blank?
|
56
|
+
if !m.symbol.blank?
|
57
|
+
return "#{m.symbol} #{amount.to_s}".html_safe
|
58
|
+
end
|
59
|
+
end
|
60
|
+
return "#{c} #{amount.to_s}"
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
#======================================
|
66
|
+
|
67
|
+
module DeviseHelpers
|
68
|
+
|
69
|
+
def resource_name
|
70
|
+
:user
|
71
|
+
end
|
72
|
+
|
73
|
+
def resource
|
74
|
+
@resource ||= User.new
|
75
|
+
end
|
76
|
+
|
77
|
+
def devise_mapping
|
78
|
+
@devise_mapping ||= Devise.mappings[:user]
|
79
|
+
end
|
80
|
+
|
81
|
+
#DEVISE end
|
82
|
+
|
83
|
+
def devise_error_messages!
|
84
|
+
flash_alerts = []
|
85
|
+
error_key = 'errors.messages.not_saved'
|
86
|
+
|
87
|
+
if !flash.empty?
|
88
|
+
flash_alerts.push(flash[:error]) if flash[:error]
|
89
|
+
flash_alerts.push(flash[:alert]) if flash[:alert]
|
90
|
+
flash_alerts.push(flash[:notice]) if flash[:notice]
|
91
|
+
error_key = 'devise.failure.invalid'
|
92
|
+
end
|
93
|
+
|
94
|
+
return "" if resource.errors.empty? && flash_alerts.empty?
|
95
|
+
errors = resource.errors.empty? ? flash_alerts : resource.errors.full_messages
|
96
|
+
|
97
|
+
messages = errors.map { |msg| content_tag(:li, msg) }.join
|
98
|
+
sentence = I18n.t(error_key, :count => errors.count,
|
99
|
+
:resource => resource.class.model_name.human.downcase)
|
100
|
+
|
101
|
+
html = <<-HTML
|
102
|
+
<div id="error_explanation">
|
103
|
+
<h2>#{sentence}</h2>
|
104
|
+
<ul>#{messages}</ul>
|
105
|
+
</div>
|
106
|
+
HTML
|
107
|
+
|
108
|
+
html.html_safe
|
109
|
+
end
|
110
|
+
|
111
|
+
end
|
112
|
+
|
113
|
+
#======================================
|
114
|
+
|
115
|
+
end
|
116
|
+
|
1
117
|
require 'money'
|
2
118
|
require 'roo'
|
3
119
|
require 'safai/spreadsheet'
|
@@ -7,10 +123,5 @@ require 'safai/clean'
|
|
7
123
|
require 'safai/gravatar'
|
8
124
|
require 'safai/money'
|
9
125
|
require 'safai/date'
|
10
|
-
require 'safai/fires'
|
11
|
-
require 'safai/helpers'
|
12
|
-
ActiveRecord::Base.send :include, Safai::Fires
|
13
126
|
ActionView::Base.send :include, Safai::Helpers
|
14
|
-
|
15
|
-
class Safai
|
16
|
-
end
|
127
|
+
ActionView::Base.send :include, Safai::DeviseHelpers
|
data/lib/safai/address.rb
CHANGED
File without changes
|
data/lib/safai/clean.rb
CHANGED
File without changes
|
data/lib/safai/date.rb
CHANGED
File without changes
|
data/lib/safai/gravatar.rb
CHANGED
File without changes
|
data/lib/safai/money.rb
CHANGED
File without changes
|
data/lib/safai/regex.rb
CHANGED
File without changes
|
data/lib/safai/spreadsheet.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: safai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.25
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -27,38 +27,6 @@ dependencies:
|
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 0.2.13
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: htmldiff
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - '='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: 0.0.1
|
38
|
-
type: :development
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - '='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: 0.0.1
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: coderay
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - '='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 1.0.8
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - '='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.0.8
|
62
30
|
- !ruby/object:Gem::Dependency
|
63
31
|
name: roo
|
64
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,22 +43,6 @@ dependencies:
|
|
75
43
|
- - '='
|
76
44
|
- !ruby/object:Gem::Version
|
77
45
|
version: 1.10.1
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: RedCloth
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - '='
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 4.2.9
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - '='
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 4.2.9
|
94
46
|
- !ruby/object:Gem::Dependency
|
95
47
|
name: money
|
96
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,7 +59,7 @@ dependencies:
|
|
107
59
|
- - '='
|
108
60
|
- !ruby/object:Gem::Version
|
109
61
|
version: 5.1.0
|
110
|
-
description:
|
62
|
+
description: A simple hello world gem
|
111
63
|
email: ritvij.j@gmail.com
|
112
64
|
executables: []
|
113
65
|
extensions: []
|
@@ -120,14 +72,8 @@ files:
|
|
120
72
|
- lib/safai/clean.rb
|
121
73
|
- lib/safai/gravatar.rb
|
122
74
|
- lib/safai/money.rb
|
123
|
-
- init.rb
|
124
75
|
- lib/safai/date.rb
|
125
|
-
|
126
|
-
- generators/safai/templates/model.rb
|
127
|
-
- generators/safai/safai_generator.rb
|
128
|
-
- lib/safai/fires.rb
|
129
|
-
- safai.gemspec
|
130
|
-
homepage: http://github.com/ritvvijparrikh/safai
|
76
|
+
homepage: http://rubygems.org/gems/safai
|
131
77
|
licenses: []
|
132
78
|
post_install_message:
|
133
79
|
rdoc_options: []
|
@@ -150,5 +96,5 @@ rubyforge_project:
|
|
150
96
|
rubygems_version: 1.8.24
|
151
97
|
signing_key:
|
152
98
|
specification_version: 3
|
153
|
-
summary:
|
99
|
+
summary: Address logic gem
|
154
100
|
test_files: []
|
@@ -1,10 +0,0 @@
|
|
1
|
-
class CreateTimelineEvents < ActiveRecord::Migration
|
2
|
-
def self.change
|
3
|
-
create_table :timeline_events do |t|
|
4
|
-
t.string :event_type, :subject_type, :actor_type, :secondary_subject_type, :link
|
5
|
-
t.integer :subject_id, :actor_id, :secondary_subject_id
|
6
|
-
t.text :message
|
7
|
-
t.timestamps
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
class TimelineEvent < ActiveRecord::Base
|
2
|
-
|
3
|
-
#GEMS USED
|
4
|
-
#ACCESSORS
|
5
|
-
attr_accessible :event_type, :actor, :subject, :secondary_subject, :link, :message
|
6
|
-
|
7
|
-
#ASSOCIATIONS
|
8
|
-
belongs_to :actor, :polymorphic => true
|
9
|
-
belongs_to :subject, :polymorphic => true
|
10
|
-
belongs_to :secondary_subject, :polymorphic => true
|
11
|
-
|
12
|
-
#CALLBACKS
|
13
|
-
#VALIDATIONS
|
14
|
-
#QUERY SCOPES
|
15
|
-
#CUSTOM SCOPES
|
16
|
-
#SORTING SCOPES
|
17
|
-
default_scope :order => "created_at desc"
|
18
|
-
|
19
|
-
#OTHER STUFF
|
20
|
-
|
21
|
-
def tag
|
22
|
-
if alertable_type == "Campaign"
|
23
|
-
return "<span class='tag1'>Campaign</span>".html_safe
|
24
|
-
elsif alertable_type == "Impact" or alertable_type == "Project"
|
25
|
-
return "<span class='tag2'>Project</span>".html_safe
|
26
|
-
elsif alertable_type == "Bank"
|
27
|
-
return "<span class='tag3'>Bank Account</span>".html_safe
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
#PRIVATE STUFF
|
32
|
-
private
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
data/init.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'safai'
|
data/lib/safai/fires.rb
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
module Fires
|
2
|
-
def self.included(klass)
|
3
|
-
klass.send(:extend, ClassMethods)
|
4
|
-
end
|
5
|
-
|
6
|
-
module ClassMethods
|
7
|
-
def fires(event_type, opts)
|
8
|
-
raise ArgumentError, "Argument :on is mandatory" unless opts.has_key?(:on)
|
9
|
-
|
10
|
-
# Array provided, set multiple callbacks
|
11
|
-
if opts[:on].kind_of?(Array)
|
12
|
-
opts[:on].each { |on| fires(event_type, opts.merge({:on => on})) }
|
13
|
-
return
|
14
|
-
end
|
15
|
-
|
16
|
-
opts[:subject] = :self unless opts.has_key?(:subject)
|
17
|
-
|
18
|
-
send(:"after_#{opts[:on]}", :if => opts[:if]) do
|
19
|
-
create_options = [:actor, :subject, :secondary_subject, :link, :message].inject({}) do |memo, sym|
|
20
|
-
if opts[sym]
|
21
|
-
if opts[sym].respond_to?(:call)
|
22
|
-
memo[sym] = opts[sym].call(self)
|
23
|
-
elsif opts[sym] == :self
|
24
|
-
memo[sym] = self
|
25
|
-
else
|
26
|
-
memo[sym] = send(opts[sym])
|
27
|
-
end
|
28
|
-
end
|
29
|
-
memo
|
30
|
-
end
|
31
|
-
create_options[:event_type] = event_type.to_s
|
32
|
-
|
33
|
-
TimelineEvent.create!(create_options)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
data/safai.gemspec
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
Gem::Specification.new do |s|
|
2
|
-
s.name = 'safai'
|
3
|
-
s.version = '0.0.24'
|
4
|
-
s.date = '2010-04-28'
|
5
|
-
s.summary = "Commonly used functions"
|
6
|
-
s.description = "Clean up (Safai) of code"
|
7
|
-
s.authors = ["Ritvvij Parrikh"]
|
8
|
-
s.email = 'ritvij.j@gmail.com'
|
9
|
-
s.files = ["lib/safai.rb",
|
10
|
-
"lib/safai/spreadsheet.rb",
|
11
|
-
"lib/safai/regex.rb",
|
12
|
-
"lib/safai/address.rb",
|
13
|
-
"lib/safai/clean.rb",
|
14
|
-
"lib/safai/gravatar.rb",
|
15
|
-
"lib/safai/money.rb",
|
16
|
-
"init.rb",
|
17
|
-
"lib/safai/date.rb",
|
18
|
-
"generators/safai/templates/migration.rb",
|
19
|
-
"generators/safai/templates/model.rb",
|
20
|
-
"generators/safai/safai_generator.rb",
|
21
|
-
"lib/safai/fires.rb",
|
22
|
-
"safai.gemspec"
|
23
|
-
]
|
24
|
-
s.homepage = 'http://github.com/ritvvijparrikh/safai'
|
25
|
-
s.required_rubygems_version = '>= 1.3.6'
|
26
|
-
s.add_development_dependency("carmen", '0.2.13')
|
27
|
-
s.add_development_dependency("htmldiff", '0.0.1')
|
28
|
-
s.add_development_dependency("coderay", '1.0.8')
|
29
|
-
s.add_development_dependency("roo", '1.10.1')
|
30
|
-
s.add_development_dependency("RedCloth", '4.2.9')
|
31
|
-
s.add_development_dependency("money", '5.1.0')
|
32
|
-
end
|