safai 0.0.24 → 0.0.25

Sign up to get free protection for your applications and to get access to all the features.
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
File without changes
data/lib/safai/money.rb CHANGED
File without changes
data/lib/safai/regex.rb CHANGED
File without changes
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.24
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: Clean up (Safai) of code
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
- - generators/safai/templates/migration.rb
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: Commonly used functions
99
+ summary: Address logic gem
154
100
  test_files: []
@@ -1,9 +0,0 @@
1
- class SafaiGenerator < Rails::Generator::Base
2
- def manifest
3
- record do |m|
4
- m.migration_template 'migration.rb', 'db/migrate',
5
- :migration_file_name => 'create_timeline_events'
6
- m.template 'model.rb', 'app/models/timeline_event.rb'
7
- end
8
- end
9
- end
@@ -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