share_some_love 0.0.5 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/LOVE_by_author.md +272 -0
  4. data/LOVE_by_gem.md +166 -0
  5. data/hearts/surfer.txt +5 -0
  6. data/lib/love/author.rb +22 -5
  7. data/lib/love/gem.rb +16 -4
  8. data/lib/love/share.rb +37 -20
  9. data/lib/love/version.rb +1 -1
  10. data/lib/love.rb +14 -13
  11. data/share_some_love.gemspec +2 -0
  12. data/spec/love/author_spec.rb +9 -0
  13. data/spec/love/basic_spec.rb +86 -0
  14. data/spec/spec_helper.rb +1 -1
  15. data/templates/html/_author.html.erb +24 -0
  16. data/templates/html/_gem.html.erb +22 -0
  17. data/templates/html/by_author.html.erb +21 -0
  18. data/templates/html/by_gem.html.erb +21 -0
  19. data/templates/md/_author.md.erb +14 -7
  20. data/templates/md/_gem.md.erb +13 -6
  21. data/templates/md/by_author.md.erb +9 -0
  22. data/templates/md/by_gem.md.erb +9 -0
  23. metadata +27 -23
  24. data/LOVE.md +0 -183
  25. data/_old_templates/html/footer.erb +0 -1
  26. data/_old_templates/html/head.erb +0 -12
  27. data/_old_templates/html/javascripts.erb +0 -2
  28. data/_old_templates/html/simple.erb +0 -17
  29. data/_old_templates/html/styles.erb +0 -2
  30. data/_old_templates/md/contributor.erb +0 -4
  31. data/_old_templates/md/footer.erb +0 -1
  32. data/_old_templates/md/gem.erb +0 -10
  33. data/_old_templates/md/head.erb +0 -2
  34. data/_old_templates/md/user.erb +0 -11
  35. data/tmp/lib/love/gem.rb +0 -53
  36. data/tmp/lib/love/html_renderer.rb +0 -23
  37. data/tmp/lib/love/person.rb +0 -60
  38. data/tmp/lib/love/render/overrides.rb +0 -29
  39. data/tmp/lib/love/render.rb +0 -35
  40. data/tmp/lib/love/site.rb +0 -21
  41. data/tmp/lib/love/thank_words.rb +0 -96
  42. data/tmp/lib/love/thanks.rb +0 -50
  43. data/tmp/lib/love/version.rb +0 -3
  44. data/tmp/lib/love.rb +0 -39
@@ -1,10 +0,0 @@
1
- <%- if image.present? %>
2
- ![<%= what %>](<%= image %>)
3
- <%- end %>
4
- <%= begin_desc %>
5
- <%- if bold %>
6
- **<%= what %>**
7
- <%- else %>
8
- <%= what %>
9
- <%- end %>
10
- <%= finish_desc %>
@@ -1,2 +0,0 @@
1
- <%= head_title %>
2
- <%= few_words %>
@@ -1,11 +0,0 @@
1
- <%- if image.present? %>
2
- ![<%= who %>](<%= image %>)
3
- <%- end %>
4
- <%= begin_thanking %>
5
- <%- if bold %>
6
- **<%= who %>**
7
- <%- else %>
8
- <%= who %>
9
- <%- end %>
10
- <%= for_what %>
11
- <%= finish_thanking %>
data/tmp/lib/love/gem.rb DELETED
@@ -1,53 +0,0 @@
1
- class Love
2
- class Gem
3
-
4
- attr_reader :name, :authors, :plain_authors, :spec
5
-
6
- def initialize(spec, fetch = true)
7
- @spec = spec
8
- @name = spec.name
9
- @plain_authors = spec.authors
10
- @authors = []
11
- fetch_authors if fetch
12
- end
13
-
14
- def fetch_authors
15
- plain_authors.each do |name|
16
- person = Person.new(name)
17
- person.add_gem self
18
- add_author person
19
- end
20
- end
21
-
22
- def add_author(author)
23
- @authors << author
24
- end
25
-
26
- def thanks
27
- who = \
28
- if authors.count > 1
29
- "these cool and creative people: #{authors.map(&:name).join(', ')}"
30
- else
31
- "this cool and creative person #{authors.first.name}"
32
- end
33
- what = "this awesome gem - #{name}"
34
- end
35
-
36
- class << self
37
-
38
- def create_file
39
- thanks = \
40
- if by_gemname
41
- thanks_by_gemname
42
- else
43
- thanks_by_author
44
- end
45
- b = binding
46
- File.open('./LOVE.md', 'w+') do |f|
47
- f.write ERB.new(TEMPLATE_MD).result(b)
48
- end
49
- end
50
-
51
- end
52
- end
53
- end
@@ -1,23 +0,0 @@
1
- class Love
2
- module HtmlRenderer
3
- class << self
4
-
5
- def thanks
6
- Love::ThankWords.title_thanks
7
- end
8
-
9
- def style
10
- ''
11
- end
12
-
13
- def javasctipt
14
- ''
15
- end
16
-
17
- def content(template_name, body)
18
-
19
- end
20
-
21
- end
22
- end
23
- end
@@ -1,60 +0,0 @@
1
- require 'octokit'
2
-
3
- class Love
4
- class Person
5
-
6
- attr_reader :name, :info, :gems
7
-
8
- def initialize(name, fetch = true)
9
- @name = name
10
- @gems = []
11
- fetch_info if fetch
12
- end
13
-
14
- def fetch_info
15
- search_person = Octokit.search_users name
16
- @info = \
17
- if search_person > 1
18
- puts '!!! THERE ARE SEVERAL PERSONS WITH THIS NAME IN GITHUB !!!'
19
- puts "Please check right man with his number and we'll continue"
20
- search_person.each_with_index do |person, index|
21
- puts "#{index} - name: #{person.name}; login: #{person.login}; username: #{person.username}"
22
- end
23
-
24
- Octokit.user search_person[gets.chomp.to_i].username
25
- else
26
- Octokit.user search_person.first.username
27
- end
28
- end
29
-
30
- def add_gem(gem)
31
- @gems << gem
32
- end
33
-
34
- def love(format)
35
- image = info.avatar_url
36
- who = "#{Love::ThankWords.person_prefix} #{name}"
37
- bold = true
38
- begin_thanking = Love::ThankWords.begin_phrase_for_author
39
- for_what = \
40
- if gems.count > 1
41
- "#{Love::ThankWords.libraries_prefix} #{gems.map(&:name).join(', ')}"
42
- else
43
- "#{Love::ThankWords.library_prefix} #{gems.first.name}"
44
- end
45
- finish_thanking = Love::ThankWords.end_phrase_for_author
46
-
47
- template = \
48
- if format == 'md'
49
- love_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'templates/md'))
50
- File.read(File.join(love_dir, 'person.erb'))
51
- else
52
- love_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'templates/html'))
53
- File.read(File.join(love_dir, 'person.erb'))
54
- end
55
-
56
- ERB.new(template).result(binding)
57
- end
58
-
59
- end
60
- end
@@ -1,29 +0,0 @@
1
- class Pathname
2
-
3
- def glob(pattern, &block)
4
- Pathname.glob(self.join(pattern), &block)
5
- end
6
-
7
- end
8
-
9
- class Sprockets::Context
10
- include R18n::Helpers
11
- end
12
-
13
- R18n::Filters.add('code') do |text, config|
14
- text.gsub(/`([^`]+)`/, '<code>\1</code>')
15
- end
16
-
17
- R18n::Filters.add('format') do |text, config|
18
- '<p>' +
19
- text.gsub(/~([^~]+)~/, '<strong>\1</strong>').gsub("\n", '</p><p>') +
20
- '</p>'
21
- end
22
-
23
- class R18n::TranslatedString
24
- def link(href, args = { })
25
- args[:href] = href
26
- args = args.map { |k, v| "#{k}=\"#{v}\"" }.join(' ')
27
- self.sub(/\^([^\^]+)\^/, "<a #{args}>\\1</a>")
28
- end
29
- end
@@ -1,35 +0,0 @@
1
- require 'pathname'
2
- require 'slim'
3
- require 'uglifier'
4
- require 'sprockets'
5
- require 'evil-front'
6
- require 'coffee_script'
7
- require 'rails-sass-images'
8
- require 'autoprefixer-rails'
9
-
10
- require 'r18n-core'
11
-
12
- require 'render/overrides'
13
-
14
- class Love
15
- class Render
16
- DEFAULT_ROOT = Pathname(__FILE__).parent.parent.parent.join('templates/')
17
-
18
- attr_accessor :root, :public, :layouts, :images, :standalone, :i18n
19
-
20
- def initialize(templates_path = DEFAULT_ROOT)
21
- @root = templates_path
22
- @public = @root.join('public/')
23
- @layouts = @root.join('layouts/')
24
- @images = @root.join('images/')
25
- @standalone = @root.join('standalone/')
26
- @i18n = @root.join('i18n')
27
- @scripts = @root.join('scripts/')
28
- @styles = @root.join('styles/')
29
- @vendor = @root.join('vendor/')
30
-
31
- R18n.default_places = @i18n
32
- end
33
-
34
- end
35
- end
data/tmp/lib/love/site.rb DELETED
@@ -1,21 +0,0 @@
1
- class Love
2
- module Site
3
- class << self
4
-
5
- def create_file
6
- title = Love::ThankWords.title_thanks
7
- thanks = \
8
- if by_gemname
9
- thanks_by_gemname
10
- else
11
- thanks_by_author
12
- end
13
- b = binding
14
- File.open('./public/love.html', 'w+') do |f|
15
- f.write ERB.new(TEMPLATE).result(b)
16
- end
17
- end
18
-
19
- end
20
- end
21
- end
@@ -1,96 +0,0 @@
1
- class Love
2
- module ThankWords
3
-
4
- BEGIN_AUTHOR = \
5
- [
6
- "I'd like to thank",
7
- 'I appreciate time of',
8
- 'My sincere thanks to',
9
- 'Thank you so much,',
10
- 'Thank you very much,'
11
- ]
12
-
13
- MIDDLE_AUTHOR = \
14
- [
15
- 'for creating and maintaining',
16
- 'for made this idea happened, I mean',
17
- 'for spending time on',
18
- 'for making my life easier by creating',
19
- 'for being so nice to create'
20
- ]
21
-
22
- END_AUTHOR = \
23
- [
24
- 'I wanna hug you someday and say in person what great job you done!',
25
- 'I wanna shake your hand and say that wihtout your work on it I would spent much more time and power!',
26
- 'Just be so cool as you are and remember that your work never being useless!',
27
- 'Enjoy what you did as I am!'
28
- ]
29
-
30
- TITLE_THANKS = \
31
- [
32
- 'Thank you all, guys and girls who made my life easier and help me to enjoy make my project more and more!',
33
- "I'd like to thank all these people! Believe me - they are awesome!",
34
- 'Love to these people! And bunch of hugs!'
35
- ]
36
-
37
- PERSON_PREFIX = \
38
- [
39
- 'my mate',
40
- 'awesome person',
41
- 'great developer',
42
- 'awesome programmer'
43
- ]
44
-
45
- LIBRARY_PREFIX = \
46
- [
47
- 'this helpful and useful gem',
48
- 'awesome project',
49
- 'cool thing',
50
- 'helpful thing'
51
- ]
52
-
53
- LIBRARIES_PREFIX = \
54
- [
55
- 'these awesome and helpful gems',
56
- 'a lot of great projects',
57
- 'these awesome libraries'
58
- ]
59
-
60
- class << self
61
-
62
- def title_thanks
63
- TITLE_THANKS[rand(TITLE_THANKS.length)]
64
- end
65
-
66
- def begin_phrase_for_author
67
- BEGIN_AUTHOR[rand(BEGIN_AUTHOR.length)]
68
- end
69
-
70
- def connect_author_with_gem_phrase
71
- MIDDLE_AUTHOR[rand(BEGIN_AUTHOR.length)]
72
- end
73
-
74
- def end_phrase_for_author
75
- END_AUTHOR[rand(BEGIN_AUTHOR.length)]
76
- end
77
-
78
- def person_perfix
79
- PERSON_PREFIX[rand(PERSON_PREFIX.length)]
80
- end
81
-
82
- def library_prefix
83
- LIBRARY_PREFIX[rand(LIBRARY_PREFIX.length)]
84
- end
85
-
86
- def libraries_prefix
87
- LIBRARIES_PREFIX[rand(LIBRARIES_PREFIX.length)]
88
- end
89
-
90
- def hearts
91
- '<3' * rand(10)
92
- end
93
-
94
- end
95
- end
96
- end
@@ -1,50 +0,0 @@
1
- class Love
2
- class Thanks
3
-
4
- def initialize
5
-
6
- end
7
- class << self
8
-
9
- def by_gemname
10
- thanks = ''
11
- template = for_site ? THANKS : THANKS_MD
12
- @gems.each do |gem|
13
- who = \
14
- if gem.authors.count > 1
15
- "these cool and creative people: #{gem.authors.map(&:name).join(', ')}"
16
- else
17
- "this cool and creative person #{gem.authors.first.name}"
18
- end
19
- what = "this awesome gem - #{gem.name}"
20
- b = binding
21
- thanks << ERB.new(template).result(b)
22
- end
23
- thanks
24
- end
25
-
26
- def thanks_by_author
27
- thanks = ''
28
- template = for_site ? THANKS : THANKS_MD
29
- @authors.each do |author|
30
- who = "my mate #{author.name}"
31
- what = \
32
- if author.gems.count > 1
33
- "these great libraries: #{author.gems.map(&:name).join(', ')}! Wow man! You awesome!"
34
- else
35
- "this helpful and useful gem - #{author.gems.first.name}"
36
- end
37
- b = binding
38
- thanks << ERB.new(template).result(b)
39
- end
40
- thanks
41
- end
42
-
43
- # WIP
44
- def thanks_to_contributors
45
- thanks = ''
46
- end
47
-
48
- end
49
- end
50
- end
@@ -1,3 +0,0 @@
1
- class Love
2
- VERSION = '0.0.3'
3
- end
data/tmp/lib/love.rb DELETED
@@ -1,39 +0,0 @@
1
- require 'bundler'
2
-
3
- class Love
4
-
5
- def self.share_for(args)
6
- by_gemname = args.include? 'by_gem'
7
- for_site = args.include? 'site'
8
-
9
- self.new by_gemname, for_site
10
- end
11
-
12
- attr_reader :by_gemname, :for_site, :gems, :authors
13
-
14
- def initialize(by_gemname, for_site)
15
- @by_gemname = by_gemname
16
- @for_site = for_site
17
-
18
- parse_gemfile
19
- share_love
20
- end
21
-
22
- def parse_gemfile
23
- Bundler.setup.specs.each do |spec|
24
- gem = Love::Gem.new(spec)
25
- @gems << gem
26
- @authors << gem.authors
27
- end
28
- @authors = @authors.flatten.uniq
29
- end
30
-
31
- def share_love
32
- if for_site
33
- Love::Site.create_file
34
- else
35
- Love::Gem.create_file
36
- end
37
- end
38
-
39
- end