sentencify 0.0.2 → 0.1.0

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.
@@ -0,0 +1,11 @@
1
+ ## 0.1.0 (01/07/13)
2
+
3
+ * Add images support
4
+
5
+ ## 0.0.2 (20/06/13)
6
+
7
+ * Fix bug on authorized keys
8
+
9
+ ## 0.0.1 (20/06/13)
10
+
11
+ * First release
data/README.md CHANGED
@@ -37,15 +37,18 @@ end
37
37
  In your `index.html.erb` view:
38
38
  ```rb
39
39
  @users.sentencize(on: :login)
40
+ @users.sentencize(on: :avatar, image: true)
40
41
  ```
41
42
 
42
43
  It will display all your users by login with a default limit of 5.
43
44
  You can change this value by passing a limit parameter as following: `limit: 10`
45
+ ** Extra **: You can display images by turning the image option to true.
44
46
 
45
47
  ### Advanced
46
48
  #### Parameters
47
49
 
48
50
  Others parameters:
51
+ * `image`, default value: false
49
52
  * `empty`, default value: 'No element found'
50
53
  * `words_connector`, default value: ', '
51
54
  * `two_words_connector`, default value: ' and '
@@ -2,10 +2,11 @@ require 'active_support/core_ext/array'
2
2
 
3
3
  class Array
4
4
  def sentencize(options = {})
5
- options.assert_valid_keys(:on, :limit, :empty, :words_connector, :two_words_connector, :last_word_connector, :final_singular_connector, :final_plural_connector)
5
+ options.assert_valid_keys(:on, :image, :limit, :empty, :words_connector, :two_words_connector, :last_word_connector, :final_singular_connector, :final_plural_connector)
6
6
 
7
7
  default_connectors = {
8
8
  on: :title,
9
+ image: false,
9
10
  limit: 5,
10
11
  empty: 'No element found',
11
12
  words_connector: ', ',
@@ -16,28 +17,29 @@ class Array
16
17
  }
17
18
 
18
19
  if defined?(I18n)
19
- i18n_connectors = I18n.translate(:'sentencify', default: {})
20
+ i18n_connectors = I18n.translate(:sentencify, default: {})
20
21
  default_connectors.merge!(i18n_connectors)
21
22
  end
22
23
 
23
24
  options = default_connectors.merge!(options)
24
25
 
26
+ will_sentencized = self.map(&options[:on])
27
+ will_sentencized.map! { |s| "<img src='#{s}' />" } if options[:image]
28
+
25
29
  case length
26
30
  when 0
27
31
  options[:empty]
28
32
  when 1
29
- self[0][options[:on]]
33
+ will_sentencized[0]
30
34
  when 2
31
- elts = self.map(&options[:on])
32
- "#{elts[0]}#{options[:two_words_connector]}#{elts[1]}"
35
+ "#{will_sentencized[0]}#{options[:two_words_connector]}#{will_sentencized[1]}"
33
36
  else
34
- elts = self.map(&options[:on])
35
37
  if options[:limit] >= length
36
- "#{elts[0...-1].join(options[:words_connector])}#{options[:last_word_connector]}#{elts[-1]}"
38
+ "#{will_sentencized[0...-1].join(options[:words_connector])}#{options[:last_word_connector]}#{will_sentencized[-1]}"
37
39
  else
38
40
  nb_others = length-options[:limit]
39
41
  others = (nb_others != 1) ? options[:final_plural_connector] : options[:final_singular_connector]
40
- "#{elts[0..options[:limit]-1].join(options[:words_connector])}#{options[:last_word_connector]}#{nb_others}#{others}"
42
+ "#{will_sentencized[0..options[:limit]-1].join(options[:words_connector])}#{options[:last_word_connector]}#{nb_others}#{others}"
41
43
  end
42
44
  end
43
45
  end
@@ -1,3 +1,3 @@
1
1
  module Sentencify
2
- VERSION = '0.0.2'
2
+ VERSION = '0.1.0'
3
3
  end
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Sentencify::VERSION
9
9
  spec.authors = ['Baptiste Lecocq']
10
10
  spec.email = ['baptiste.lecocq@gmail.com']
11
- spec.description = 'Create sentences with array of Active Record objects'
11
+ spec.description = 'With Sentencify, you can create sentences with array of Active Record objects. It supports I18n.'
12
12
  spec.summary = 'Create sentences with array of Active Record objects'
13
13
  spec.homepage = 'https://github.com/baptistelecocq/sentencify'
14
14
  spec.license = 'MIT'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentencify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-20 00:00:00.000000000 Z
12
+ date: 2013-07-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -59,7 +59,8 @@ dependencies:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
- description: Create sentences with array of Active Record objects
62
+ description: With Sentencify, you can create sentences with array of Active Record
63
+ objects. It supports I18n.
63
64
  email:
64
65
  - baptiste.lecocq@gmail.com
65
66
  executables: []
@@ -69,6 +70,7 @@ files:
69
70
  - .gitignore
70
71
  - .ruby-gemset
71
72
  - .ruby-version
73
+ - CHANGELOG.md
72
74
  - Gemfile
73
75
  - LICENSE.txt
74
76
  - README.md