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 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