the_string_to_slug 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ee96cdf83aae4e27d147ffe28a082a53a304e497
4
+ data.tar.gz: 670d91f17e1405c90528b0d0b939cdeaf4c4e468
5
+ SHA512:
6
+ metadata.gz: bd4ef70a8fc9734f82b611eed07feb210639d9172538e77e0da2e70c2449f50380876680aea18a95fc9414f93f01eea5a04b0107318663e8b86184b062903664
7
+ data.tar.gz: 2fa8fb13d35d6df3be99ba52c818915afbfbec3dcfa6eb4b892fc60361cc6e36425a745cc2737a1241ab81ef442f9d2c36fa41132bd2d0bb275d310077c4ecff
@@ -1,3 +1,3 @@
1
1
  module TheStringToSlug
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -4,10 +4,6 @@ require "the_string_to_slug/version"
4
4
  module TheStringToSlug; end
5
5
 
6
6
  class String
7
- def self.to_slug_param str
8
- I18n::transliterate(str).gsub('_','-').parameterize('-').downcase
9
- end
10
-
11
7
  def to_slug_param
12
8
  self.class.to_slug_param(self)
13
9
  end
@@ -16,25 +12,40 @@ class String
16
12
  self.class.slugged_filename(self)
17
13
  end
18
14
 
19
- # -----------------------------------
20
- # Slugged FileName
21
- # -----------------------------------
22
- def self.file_ext file_name
23
- File.extname(file_name)[1..-1].to_s.to_slug_param
15
+ def slugged_file
16
+ self.class.slugged_file(self)
24
17
  end
25
18
 
26
- def self.file_name file_name
27
- file_name = File.basename(file_name)
28
- ext = File.extname(file_name)
29
- File.basename(file_name, ext).to_s.to_slug_param
30
- end
31
-
32
- def self.slugged_filename file_name
33
- file_name = File.basename(file_name)
34
- fname = self.file_name(file_name)
35
- ext = self.file_ext(file_name)
36
-
37
- return fname if ext.blank?
38
- [fname, ext].join('.')
19
+ # -----------------------------------
20
+ # Self methods
21
+ # -----------------------------------
22
+ class << self
23
+ def to_slug_param str
24
+ I18n::transliterate(str).gsub('_','-').parameterize('-').downcase
25
+ end
26
+
27
+ def file_ext file_name
28
+ File.extname(file_name)[1..-1].to_s.to_slug_param
29
+ end
30
+
31
+ def file_name file_name
32
+ file_name = File.basename(file_name)
33
+ ext = File.extname(file_name)
34
+ File.basename(file_name, ext).to_s.to_slug_param
35
+ end
36
+
37
+ def slugged_filename file_name
38
+ file_name = File.basename(file_name)
39
+ fname = self.file_name(file_name)
40
+ ext = self.file_ext(file_name)
41
+
42
+ return fname if ext.blank?
43
+ [fname, ext].join('.')
44
+ end
45
+
46
+ def slugged_file file_full_path
47
+ file_name = slugged_filename file_full_path
48
+ file_full_path.split('/')[0...-1].push(file_name).join '/'
49
+ end
39
50
  end
40
51
  end
@@ -0,0 +1,14 @@
1
+ ### Test App
2
+
3
+ ```ruby
4
+ git clone git@github.com:the-teacher/the_string_to_slug.git
5
+
6
+ cd the_string_to_slug/spec/dummy_app/
7
+
8
+ bundle
9
+
10
+ RAILS_ENV=test rake db:create
11
+ RAILS_ENV=test rake db:migrate
12
+
13
+ rspec spec/helpers/string.rb
14
+ ```
@@ -0,0 +1,16 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended that you check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(version: 0) do
15
+
16
+ end
@@ -20,4 +20,15 @@ describe 'StringToSlug' do
20
20
  String.slugged_filename("/доки/dir/тест/доку мент").should eq "doku-ment"
21
21
  end
22
22
  end
23
+
24
+ context 'Full path to file' do
25
+ it 'should be true' do
26
+ "/doc/dir/test/document.doc".slugged_file.should eq "/doc/dir/test/document.doc"
27
+ "/доки/dir/тест/документ.doc".slugged_file.should eq "/доки/dir/тест/dokument.doc"
28
+ "/доки/dir/тест/документ".slugged_file.should eq "/доки/dir/тест/dokument"
29
+ "/доки/dir/тест/доку мент".slugged_file.should eq "/доки/dir/тест/doku-ment"
30
+
31
+ String.slugged_file("/доки/dir/тест/доку мент").should eq "/доки/dir/тест/doku-ment"
32
+ end
33
+ end
23
34
  end
metadata CHANGED
@@ -1,49 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: the_string_to_slug
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
5
- prerelease:
4
+ version: 0.0.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ilya N. Zykin
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-08-06 00:00:00.000000000 Z
11
+ date: 2013-08-26 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails-i18n
16
- requirement: &9927200 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
19
  version: 4.0.0.pre
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *9927200
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 4.0.0.pre
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: bundler
27
- requirement: &9926700 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ~>
31
32
  - !ruby/object:Gem::Version
32
33
  version: '1.3'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *9926700
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: rake
38
- requirement: &9926320 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
45
  - - ! '>='
42
46
  - !ruby/object:Gem::Version
43
47
  version: '0'
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *9926320
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
47
55
  description: ! ' Convert text string to slug param '
48
56
  email:
49
57
  - zykin-ilya@ya.ru
@@ -61,7 +69,7 @@ files:
61
69
  - spec/dummy_app/.gitignore
62
70
  - spec/dummy_app/.rspec
63
71
  - spec/dummy_app/Gemfile
64
- - spec/dummy_app/README.rdoc
72
+ - spec/dummy_app/README.md
65
73
  - spec/dummy_app/Rakefile
66
74
  - spec/dummy_app/app/assets/images/.keep
67
75
  - spec/dummy_app/app/assets/javascripts/application.js
@@ -93,6 +101,7 @@ files:
93
101
  - spec/dummy_app/config/initializers/wrap_parameters.rb
94
102
  - spec/dummy_app/config/locales/en.yml
95
103
  - spec/dummy_app/config/routes.rb
104
+ - spec/dummy_app/db/schema.rb
96
105
  - spec/dummy_app/db/seeds.rb
97
106
  - spec/dummy_app/lib/assets/.keep
98
107
  - spec/dummy_app/lib/tasks/.keep
@@ -117,33 +126,32 @@ files:
117
126
  homepage: https://github.com/the-teacher/the_string_to_slug
118
127
  licenses:
119
128
  - MIT
129
+ metadata: {}
120
130
  post_install_message:
121
131
  rdoc_options: []
122
132
  require_paths:
123
133
  - lib
124
134
  required_ruby_version: !ruby/object:Gem::Requirement
125
- none: false
126
135
  requirements:
127
136
  - - ! '>='
128
137
  - !ruby/object:Gem::Version
129
138
  version: '0'
130
139
  required_rubygems_version: !ruby/object:Gem::Requirement
131
- none: false
132
140
  requirements:
133
141
  - - ! '>='
134
142
  - !ruby/object:Gem::Version
135
143
  version: '0'
136
144
  requirements: []
137
145
  rubyforge_project:
138
- rubygems_version: 1.8.15
146
+ rubygems_version: 2.0.5
139
147
  signing_key:
140
- specification_version: 3
148
+ specification_version: 4
141
149
  summary: Translite, downcase, parameterize
142
150
  test_files:
143
151
  - spec/dummy_app/.gitignore
144
152
  - spec/dummy_app/.rspec
145
153
  - spec/dummy_app/Gemfile
146
- - spec/dummy_app/README.rdoc
154
+ - spec/dummy_app/README.md
147
155
  - spec/dummy_app/Rakefile
148
156
  - spec/dummy_app/app/assets/images/.keep
149
157
  - spec/dummy_app/app/assets/javascripts/application.js
@@ -175,6 +183,7 @@ test_files:
175
183
  - spec/dummy_app/config/initializers/wrap_parameters.rb
176
184
  - spec/dummy_app/config/locales/en.yml
177
185
  - spec/dummy_app/config/routes.rb
186
+ - spec/dummy_app/db/schema.rb
178
187
  - spec/dummy_app/db/seeds.rb
179
188
  - spec/dummy_app/lib/assets/.keep
180
189
  - spec/dummy_app/lib/tasks/.keep
@@ -1,28 +0,0 @@
1
- == README
2
-
3
- This README would normally document whatever steps are necessary to get the
4
- application up and running.
5
-
6
- Things you may want to cover:
7
-
8
- * Ruby version
9
-
10
- * System dependencies
11
-
12
- * Configuration
13
-
14
- * Database creation
15
-
16
- * Database initialization
17
-
18
- * How to run the test suite
19
-
20
- * Services (job queues, cache servers, search engines, etc.)
21
-
22
- * Deployment instructions
23
-
24
- * ...
25
-
26
-
27
- Please feel free to use a different markup language if you do not plan to run
28
- <tt>rake doc:app</tt>.