webs 0.1.5 → 0.1.6

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/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'rubygems'
3
3
  require 'rake'
4
4
  require 'echoe'
5
5
 
6
- Echoe.new('webs', '0.1.5') do |p|
6
+ Echoe.new('webs', '0.1.6') do |p|
7
7
  p.description = "Reusable webs stuff."
8
8
  p.url = "https://colczak@github.com/websdev/websgem.git"
9
9
  p.author = "Chuck Olczak"
@@ -25,10 +25,61 @@ module Webs
25
25
  # http://wiki.developers.webs.com/wiki/Verifying_Requests
26
26
  def webs_auth( secret )
27
27
  s = webs_auth_string
28
- Rails.logger.debug "****************** WEBS AUTH STRING=> #{s}"
29
28
  Digest::MD5.hexdigest(webs_auth_string + secret)
30
29
  end
31
30
 
31
+ # mappings to http://wiki.beta.freewebs.com/index.php/Fw:member-level-select
32
+ def webs_member_level_to_int member_level
33
+ {
34
+ 'anyone'=>Webs::Permission::ANYONE,
35
+ 'limited'=>Webs::Permission::LIMITED,
36
+ 'member'=>Webs::Permission::MEMBERS,
37
+ 'moderator'=>Webs::Permission::MODERATORS,
38
+ 'admin'=>Webs::Permission::ADMIN
39
+ }[member_level.downcase]
40
+ end
41
+
42
+ # mappings of the select value of fw:member-level-select to the old int vals
43
+ # TODO: convert data to new vals, don't have time right now
44
+ def webs_member_level_value_to_old_member_level webs_member_level
45
+ {
46
+ '-255'=>Webs::Permission::ANYONE,
47
+ '25'=>Webs::Permission::LIMITED,
48
+ '50'=>Webs::Permission::MEMBERS,
49
+ '75'=>Webs::Permission::MODERATORS,
50
+ '100'=>Webs::Permission::ADMIN,
51
+ '125'=>Webs::Permission::OWNER,
52
+ '255'=>Webs::Permission::DISABLED
53
+ }[webs_member_level]
54
+ end
55
+
56
+ def webs_int_to_member_level n
57
+ {
58
+ Webs::Permission::DISABLED=>'disabled',
59
+ Webs::Permission::ANYONE=>'anyone',
60
+ Webs::Permission::LIMITED=>'limited',
61
+ Webs::Permission::MEMBERS=>'member',
62
+ Webs::Permission::MODERATORS=>'moderator',
63
+ Webs::Permission::ADMIN=>'admin',
64
+ Webs::Permission::OWNER=>'admin'
65
+ }[n]
66
+ end
67
+
68
+ # converts level which is an int for the select options of a fw:member-level-select
69
+ # first to an associated Webs::Permission then to a blog member level
70
+ # TODO: This should be cleaned up and blogs should use the fw:member-level-select values
71
+ # the mapping is useful if you need to change the result, generally sending returning admin if owner
72
+ # since most of the apps use owner not admin
73
+ # The generally needs to be done in params since some objects contain validations
74
+ # example:
75
+ # convert_webs_member_level( params[:entries], :view_level, {Webs::Permission::ADMIN=>Webs::Permission::OWNER} )
76
+ # will take a webs member-level-select and convert it to a Webs::Permission mapping ADMIN to OWNER
77
+ def convert_webs_member_level h, key, mapping={}
78
+ return if h.nil?
79
+ v = webs_member_level_value_to_old_member_level( h[key] )
80
+ h[key] = mapping[v] || v
81
+ end
82
+
32
83
  # FILTERS
33
84
  def validate_webs_session
34
85
  render :text => "Access Denied: Webs::SECRET not defined." and return(false) unless defined?( Webs::SECRET )
@@ -42,6 +93,7 @@ module Webs
42
93
  def require_webs_admin
43
94
  render(:text => "You are not authorized.") unless webs_admin?
44
95
  end
96
+
45
97
  end
46
98
  end
47
99
  end
data/lib/helper/params.rb CHANGED
@@ -1,62 +1,11 @@
1
1
  module Webs
2
2
  module Helper
3
3
  module Params
4
- def fw_sig
5
- params[:fw_sig]
6
- end
7
-
8
- def fw_sig_site
9
- params[:fw_sig_site]
10
- end
11
-
12
- def fw_sig_is_admin
13
- params[:fw_sig_is_admin]
14
- end
15
-
16
- def fw_sig_permission_level
17
- params[:fw_sig_permission_level]
18
- end
19
-
20
- def fw_sig_session_key
21
- params[:fw_sig_session_key]
22
- end
23
-
24
- def fw_sig_tier
25
- params[:fw_sig_tier]
26
- end
27
-
28
- def fw_sig_permissions
29
- params[:fw_sig_permissions]
30
- end
31
-
32
- def fw_sig_time
33
- params[:fw_sig_time]
34
- end
35
-
36
- def fw_sig_api_key
37
- params[:fw_sig_api_key]
38
- end
39
-
40
- def fw_sig_url
41
- params[:fw_sig_url]
42
- end
43
-
44
- def fw_sig
45
- params[:fw_sig]
46
- end
47
-
48
- def fw_sig_user
49
- params[:fw_sig_user]
50
- end
51
-
52
- def fw_sig_width
53
- params[:fw_sig_width]
54
- end
55
-
56
- def fb_sig_network
57
- params[:fb_sig_network]
4
+ [:fw_sig, :fw_sig_site, :fw_sig_is_admin, :fw_sig_permission_level, :fw_sig_session_key, :fw_sig_tier, :fw_sig_permissions, :fw_sig_time, :fw_sig_api_key,
5
+ :fw_sig_url, :fw_sig, :fw_sig_user, :fw_sig_width, :fw_sig_social, :fb_sig_network].each do |fw_param|
6
+ module_eval( "def #{fw_param.to_s}() params[:#{fw_param.to_s}] end" )
58
7
  end
59
-
8
+
60
9
  # Some basic useful methods
61
10
  def webs_admin_mode?
62
11
  fw_sig_is_admin == '1'
@@ -100,6 +49,10 @@ module Webs
100
49
  fw_sig_permissions && webs_permission == Permission::ANYONE
101
50
  end
102
51
 
52
+ def webs_social?
53
+ fw_sig_social == '1'
54
+ end
55
+
103
56
  def webs_site_owner_or_admin?
104
57
  webs_admin? || webs_owner?
105
58
  end
@@ -112,8 +65,10 @@ module Webs
112
65
  # defined in a global var, usually in the respective env file, however APP_NAME should be moved to something
113
66
  # more elegant in the future.
114
67
  def webs_app_url
115
- raise "fw_app_url requires that the constant APP_NAME is defined.. for now..." if !defined?(APP_NAME)
116
- "#{fw_sig_url}apps/#{APP_NAME}"
68
+ app_name = APP_NAME if defined?(APP_NAME)
69
+ app_name ||= Webs::APP_NAME if defined?(Webs::APP_NAME)
70
+ raise "fw_app_url requires that the constant APP_NAME is defined.. for now..." if app_name.blank?
71
+ "#{fw_sig_url}apps/#{app_name}"
117
72
  end
118
73
  end
119
74
  end
data/lib/helper/tags.rb CHANGED
@@ -7,10 +7,18 @@ module Webs
7
7
  return "<fw:#{tagname}#{s_options}/>" unless block
8
8
 
9
9
  content = capture(&block)
10
- output = ActiveSupport::SafeBuffer.new
11
- output.safe_concat("<fw:#{tagname}#{s_options}>")
12
- output << content
13
- output.safe_concat("</fw:#{tagname}>")
10
+ begin
11
+ # Rails 3
12
+ output = ActiveSupport::SafeBuffer.new
13
+ output.safe_concat("<fw:#{tagname}#{s_options}>")
14
+ output << content
15
+ output.safe_concat("</fw:#{tagname}>")
16
+ rescue
17
+ concat("<fw:#{tagname}#{s_options}>", block.binding)
18
+ concat( content, block.binding)
19
+ concat("</fw:#{tagname}>", block.binding)
20
+
21
+ end
14
22
  end
15
23
 
16
24
  def webs_image_url img
data/lib/webs.rb CHANGED
@@ -5,9 +5,10 @@ require dir + 'helper/params'
5
5
  require dir + 'helper/tags'
6
6
 
7
7
  module Webs
8
- VERSION = "0.1.5".freeze
8
+ VERSION = "0.1.6".freeze
9
9
 
10
10
  module Permission
11
+ DISABLED = -1
11
12
  ANYONE = 0
12
13
  LIMITED = 1
13
14
  MEMBERS = 2
@@ -15,5 +16,6 @@ module Webs
15
16
  OWNER = 4
16
17
  ADMIN = 5
17
18
  end
19
+
18
20
  end
19
21
 
data/webs.gemspec CHANGED
@@ -2,15 +2,23 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{webs}
5
- s.version = "0.1.5"
5
+ s.version = "0.1.6"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Chuck Olczak"]
9
- s.date = %q{2010-10-26}
9
+ s.date = %q{2010-11-04}
10
10
  s.description = %q{Reusable webs stuff.}
11
11
  s.email = %q{chuck@webs.com}
12
- s.extra_rdoc_files = ["README.rdoc", "lib/controller/webs_controller.rb", "lib/helper/params.rb", "lib/helper/tags.rb", "lib/webs.rb", "lib/controller/webs_controller.rb", "lib/config/webs_initializer.rb"]
13
- s.files = ["README.rdoc", "Rakefile", "lib/controller/webs_controller.rb", "lib/helper/params.rb", "lib/helper/tags.rb", "lib/webs.rb", "lib/controller/webs_controller.rb", "lib/config/webs_initializer.rb", "webs.gemspec"]
12
+ gemfiles = [
13
+ "README.rdoc",
14
+ "lib/webs.rb",
15
+ "lib/config/webs_initializer.rb",
16
+ "lib/controller/webs_controller.rb",
17
+ "lib/helper/params.rb",
18
+ "lib/helper/tags.rb",
19
+ ]
20
+ s.extra_rdoc_files = gemfiles
21
+ s.files = gemfiles + [ "Rakefile", "webs.gemspec" ]
14
22
  s.homepage = %q{http://github.com/websdotcom/websgem}
15
23
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Webs", "--main", "README.rdoc"]
16
24
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webs
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 5
10
- version: 0.1.5
9
+ - 6
10
+ version: 0.1.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Chuck Olczak
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-26 00:00:00 -04:00
18
+ date: 2010-11-04 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -27,19 +27,19 @@ extensions: []
27
27
 
28
28
  extra_rdoc_files:
29
29
  - README.rdoc
30
+ - lib/webs.rb
31
+ - lib/config/webs_initializer.rb
30
32
  - lib/controller/webs_controller.rb
31
33
  - lib/helper/params.rb
32
34
  - lib/helper/tags.rb
33
- - lib/webs.rb
34
- - lib/config/webs_initializer.rb
35
35
  files:
36
36
  - README.rdoc
37
- - Rakefile
37
+ - lib/webs.rb
38
+ - lib/config/webs_initializer.rb
38
39
  - lib/controller/webs_controller.rb
39
40
  - lib/helper/params.rb
40
41
  - lib/helper/tags.rb
41
- - lib/webs.rb
42
- - lib/config/webs_initializer.rb
42
+ - Rakefile
43
43
  - webs.gemspec
44
44
  has_rdoc: true
45
45
  homepage: http://github.com/websdotcom/websgem