cowtech-rails 1.3.0.0 → 1.4.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,64 @@
1
+ # encoding: utf-8
2
+ #
3
+ # This file is part of the cowtech-rails gem. Copyright (C) 2011 and above Shogun <shogun_panda@me.com>.
4
+ # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
5
+ #
6
+
7
+ module Cowtech
8
+ module RubyOnRails
9
+ module Helpers
10
+ module BrowserHelper
11
+ def browser_detect
12
+ rv = {:engine => :unknown, :version => "0", :platform => :unknown, :agent => request.user_agent || request.env['HTTP_USER_AGENT'].downcase || ""}
13
+ agent = rv[:agent].downcase
14
+
15
+ # Identify engine
16
+ if agent =~ /opera/ then
17
+ rv[:engine] = :opera
18
+ elsif agent =~ /webkit/ then
19
+ rv[:engine] = (agent =~ /chrome|chromium/ ? :chrome : :safari)
20
+ elsif agent =~ /msie/ || agent =~ /webtv/ then
21
+ rv[:engine] = :msie
22
+ elsif agent =~ /mozilla/ && agent !~ /compatible/ then
23
+ rv[:engine] = :mozilla
24
+ end
25
+
26
+ # Identify version
27
+ rv[:version] = $1 if agent =~ /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/
28
+ rv[:version_number] = rv[:version].to_f
29
+
30
+ # Identify platform
31
+ if agent =~ /linux/
32
+ rv[:platform] = :linux
33
+ elsif agent =~ /macintosh|mac os x/ then
34
+ rv[:platform] = :mac
35
+ elsif agent =~ /windows|win32|win64/ then
36
+ rv[:platform] = :windows
37
+ end
38
+
39
+ @browser = rv
40
+ end
41
+
42
+ def browser_classes
43
+ self.browser_detect unless @browser
44
+ rv = []
45
+
46
+ # Add name and platform
47
+ rv << @browser[:engine].to_s
48
+ rv << "platform-#{@browser[:platform].to_s}"
49
+
50
+ # Add versions
51
+ version = "version-"
52
+ i = -1
53
+ @browser[:version].split(/\./).each do |v|
54
+ i += 1
55
+ version += "#{i > 0 ? "_" : ""}#{v}"
56
+ rv << version
57
+ end
58
+
59
+ rv.join(" ")
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -8,33 +8,6 @@ module Cowtech
8
8
  module RubyOnRails
9
9
  module Helpers
10
10
  module FormatHelper
11
- def browser
12
- unless @browser then
13
- rv = OpenStruct.new({:engine => :other, :version => 1.0})
14
-
15
- unless request.env['HTTP_USER_AGENT'].blank? then
16
- ua = request.env['HTTP_USER_AGENT'].downcase
17
-
18
- if ua.index('msie') and !ua.index('opera') and !ua.index('webtv') then
19
- rv.engine = :msie
20
- rv.version = /.+msie ([0-9\.]+).+/.match(ua)[1].to_f
21
- elsif ua.index('gecko/') or ua.index("mozilla/")
22
- rv.engine = :gecko
23
- elsif ua.index('opera')
24
- rv.engine = :opera
25
- elsif ua.index('konqueror')
26
- rv.engine = :konqueror
27
- elsif ua.index('webkit/')
28
- rv.engine = :webkit
29
- end
30
- end
31
-
32
- @browser = rv
33
- end
34
-
35
- @browser
36
- end
37
-
38
11
  def format_field(field, default = nil)
39
12
  if field.is_a?(Fixnum) then
40
13
  field
@@ -20,6 +20,7 @@ module Cowtech
20
20
  true
21
21
  end
22
22
 
23
+ # TODO: Internationalize this. :eliminato => :deleted, :stato => :status, Stato => Status
23
24
  def delete(definitive = false)
24
25
  unless definitive then
25
26
  if self.deletable? then
@@ -8,7 +8,7 @@ module Cowtech
8
8
  module Rails
9
9
  module Version
10
10
  MAJOR = 1
11
- MINOR = 3
11
+ MINOR = 4
12
12
  PATCH = 0
13
13
  BUILD = 0
14
14
 
metadata CHANGED
@@ -4,10 +4,10 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
- - 3
7
+ - 4
8
8
  - 0
9
9
  - 0
10
- version: 1.3.0.0
10
+ version: 1.4.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Shogun
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-08 00:00:00 +02:00
18
+ date: 2011-04-19 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -29,6 +29,7 @@ extra_rdoc_files:
29
29
  - README
30
30
  files:
31
31
  - app/helpers/cowtech/ruby_on_rails/helpers/application_helper.rb
32
+ - app/helpers/cowtech/ruby_on_rails/helpers/browser_helper.rb
32
33
  - app/helpers/cowtech/ruby_on_rails/helpers/crud_helper.rb
33
34
  - app/helpers/cowtech/ruby_on_rails/helpers/format_helper.rb
34
35
  - app/helpers/cowtech/ruby_on_rails/helpers/validation_helper.rb