art_throughout_the_years 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ccc8aebb7d7f26001627772a10034414265895d0670e1810d95c1119165da87f
4
- data.tar.gz: 3e3032e67ac687c5ade45405bfb13c81fd9b4b862ec03cf3a7391bf8c9d9b3ec
3
+ metadata.gz: fb396ae7fb49549030b6ac87b1afff55bcbd5ac02daa54cc619fe27e40f30e22
4
+ data.tar.gz: efaae192519c07131612f74d7b074f26e3e9abb41bb8339c9eb8dcf79f750127
5
5
  SHA512:
6
- metadata.gz: 78da7f433dad1f701843a418661e610a1c6442b536ccb41fd0f3ddf13f2dfe359c0f0a49a397f83d9732f88db315c65df78b7b9ebca6ef80ca00c4d92637b2cb
7
- data.tar.gz: 6da7106789feec00e09e633c82e9470f24d1d12bfd53b0a90b9d3f897800350dbf131a8c4a9b7813de465a286ead408228add0eee5890dbeddc277c8839e6fe0
6
+ metadata.gz: d3ba00910a6eaabb7baf87924f14ccfbede128ab57e47b93f0d232d146766a198efc440552eadba26b90ae202ca76c11e071fd5696c7f31ca3c8ed25425f3eda
7
+ data.tar.gz: 82003ac3e823346ea5f749b5ae963fc72f98a23910613864feb46dd00894ab002e5a316af61694873ac5a13c2c1692508552b17749f8b0735bba576134c9355c
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require './lib/art_throughout_the_years'
4
+
5
+ ArtThroughoutTheYears::CLI.new.call
@@ -0,0 +1,7 @@
1
+ require 'nokogiri'
2
+ require 'open-uri'
3
+
4
+ require_relative '../lib/scraper'
5
+ require_relative '../lib/works_of_art'
6
+ require_relative '../lib/cli'
7
+ require_relative '../lib/version'
@@ -1,11 +1,4 @@
1
- require "art_throughout_the_years/version"
2
- require 'pry'
3
- require 'nokogiri'
4
- require 'open-uri'
1
+ module ArtThroughoutTheYears
2
+ end
5
3
 
6
- page = Nokogiri::HTML(open("https://www.metmuseum.org/toah/works/"))
7
- puts page.class #=> Nokogiri::HTML::Document
8
-
9
- require_relative'./art_throughout_the_years/lib/art_timeline_search'
10
- require_relative'./art_throughout_the_years/lib/years'
11
- require_relative'./art_throughout_the_years/lib/works_of_art'
4
+ require_relative '../config/environment'
data/lib/cli.rb ADDED
@@ -0,0 +1,53 @@
1
+ class ArtThroughoutTheYears::CLI
2
+
3
+ def call
4
+ ArtThroughoutTheYears::Scraper.scrape_art
5
+ start
6
+ list_pieces
7
+ print_artwork
8
+ end
9
+
10
+ def start
11
+ puts ""
12
+ puts "************* ~The Most Popular Paintings Throughout History~ *************"
13
+ puts ""
14
+ end
15
+
16
+ def list_pieces
17
+ puts "Please enter 'list' to view the list of painting below"
18
+ puts ""
19
+ input = gets.strip
20
+ if input == "list"
21
+ puts ""
22
+ pieces = ArtThroughoutTheYears::WorksofArt.all
23
+ pieces.each.with_index(1) {|piece, index| puts "#{index} #{piece.title_artist_year}"}
24
+ else input == "exit"
25
+ system "clear"
26
+ exit
27
+ list_pieces
28
+ end
29
+ end
30
+
31
+ def print_artwork
32
+ puts ""
33
+ puts "Please enter the number of the listed work you would like to view."
34
+ input = gets.strip
35
+ if input > 0
36
+ artwork = ArtThroughoutTheYears::WorksofArt.find_by_index(input.to_i - 1)
37
+ puts ""
38
+ puts "-------------- #{artwork.title_artist_year} --------------"
39
+ puts ""
40
+ puts "Information: #{artwork.description}"
41
+ puts ""
42
+ print_artwork
43
+ elsif input == "Exit"
44
+ puts ""
45
+ puts "Thank you for visiting, have a good day!"
46
+ puts ""
47
+ else
48
+ puts ""
49
+ puts "View the list below"
50
+ list_pieces
51
+ end
52
+ end
53
+ end
data/lib/scraper.rb CHANGED
@@ -1,18 +1,12 @@
1
- require 'pry'
2
- class Scraper
3
-
4
- def self.scrape_artwork(works_of_art)
5
- masterpieces = []
6
- bindng.pry
7
- doc = Nokogiri::HTML(open("https://www.metmuseum.org/toah/works/"))
8
- doc.css('.essay-object-overlay').each do |masterpiece|
9
- masterpiece_details = {}
10
- masterpiece_details[:name] = masterpiece.css("span.ObjArtist").text
11
- masterpiece_details[:year] = masterpiece.css("span.ObjTitle").text
12
- masterpiece_details[:title] = masterpiece.css("span.ObjTitle").text
13
- masterpiece_details[:url] = masterpiece.css("a").attribute("href").value
14
- masterpieces << masterpiece_details
15
- end
16
- masterpieces
17
- end
1
+ class ArtThroughoutTheYears::Scraper
2
+
3
+ def self.scrape_art
4
+ doc = Nokogiri::HTML(open("https://www.timeout.com/newyork/art/top-famous-paintings-in-art-history-ranked"))
5
+ doc.css('div.main_content.md-col-7.md-offset-1.xs-relative.xs-pt4.md-pt0').each do |art|
6
+
7
+ title_artist_year = art.css("span.title-underline.theme-underline-static").text
8
+ description = art.css("div.xs-text-7.xs-line-height-6.xs-text-charcoal").text
9
+ ArtThroughoutTheYears::WorksofArt.new(index, title_artist_year, description)
10
+ end
11
+ end
18
12
  end
@@ -0,0 +1,18 @@
1
+ class ArtThroughoutTheYears::WorksofArt
2
+ attr_accessor :title_artist_year, :description
3
+
4
+ @@all = []
5
+ def initialize(title_artist_year, description)
6
+ @title_artist_year = title_artist_year
7
+ @description = description
8
+ @@all << self
9
+ end
10
+
11
+ def self.all
12
+ @@all
13
+ end
14
+
15
+ def self.find_by_index(index)
16
+ @@all[index]
17
+ end
18
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: art_throughout_the_years
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - "'Christina Gonzalez'"
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-14 00:00:00.000000000 Z
11
+ date: 2019-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,30 +38,49 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
- description:
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.2'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: nokogiri
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.10'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.10'
69
+ description: CLI to assist in research and education of the history and progress of
70
+ art.
42
71
  email:
43
72
  - "'cmgamway@gmail.com'"
44
- executables: []
73
+ executables:
74
+ - art_throughout_the_years
45
75
  extensions: []
46
76
  extra_rdoc_files: []
47
77
  files:
48
- - ".gitignore"
49
- - CODE_OF_CONDUCT.md
50
- - Gemfile
51
- - Gemfile.lock
52
- - LICENSE.txt
53
- - README.md
54
- - Rakefile
55
- - _config.yml
56
- - art_throughout_the_years.gemspec
57
- - bin/console
58
- - bin/setup
78
+ - bin/art_throughout_the_years
79
+ - config/environment.rb
59
80
  - lib/art_throughout_the_years.rb
60
- - lib/art_throughout_the_years/art_timeline_search.rb
61
- - lib/art_throughout_the_years/version.rb
62
- - lib/art_throughout_the_years/works_of_art.rb
63
- - lib/art_throughout_the_years/years.rb
81
+ - lib/cli.rb
64
82
  - lib/scraper.rb
83
+ - lib/works_of_art.rb
65
84
  homepage: https://github.com/CGonzalez0115/art_throughout_the_years.git
66
85
  licenses:
67
86
  - MIT
@@ -81,9 +100,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
100
  - !ruby/object:Gem::Version
82
101
  version: '0'
83
102
  requirements: []
84
- rubygems_version: 3.0.3
103
+ rubygems_version: 3.1.2
85
104
  signing_key:
86
105
  specification_version: 4
87
- summary: A ClI to assist in research and education of the history and progress of
88
- art.
106
+ summary: Art Throughout The Years
89
107
  test_files: []
data/.gitignore DELETED
@@ -1,8 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
data/CODE_OF_CONDUCT.md DELETED
@@ -1,74 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, gender identity and expression, level of experience,
9
- nationality, personal appearance, race, religion, or sexual identity and
10
- orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
54
-
55
- ## Enforcement
56
-
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at 'cmgamway@gmail.com'. All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
63
-
64
- Project maintainers who do not follow or enforce the Code of Conduct in good
65
- faith may face temporary or permanent repercussions as determined by other
66
- members of the project's leadership.
67
-
68
- ## Attribution
69
-
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at [http://contributor-covenant.org/version/1/4][version]
72
-
73
- [homepage]: http://contributor-covenant.org
74
- [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in furry_friend_finder.gemspec
4
- gemspec
data/Gemfile.lock DELETED
@@ -1,20 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- art_throughout_the_years (0.1.0)
5
-
6
- GEM
7
- remote: https://rubygems.org/
8
- specs:
9
- rake (10.5.0)
10
-
11
- PLATFORMS
12
- ruby
13
-
14
- DEPENDENCIES
15
- art_throughout_the_years!
16
- bundler (~> 2.0)
17
- rake (~> 10.0)
18
-
19
- BUNDLED WITH
20
- 2.0.1
data/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2019 'Christina Gonzalez'
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
data/README.md DELETED
@@ -1,42 +0,0 @@
1
- # ArtThroughoutTheYears
2
-
3
- This Ruby Gem is created to provide a CLI in which you can learn of art and the ways it has developed throughout the centuries.
4
- This CLI will be pulling information from one of my favorite sites to research and pull inspiration from when working on my own pieces.
5
-
6
- ## Installation
7
- Add this line to your application's Gemfile:
8
-
9
- ''' ruby
10
- gem 'tippy'
11
-
12
- And then execute:
13
-
14
- $ bundle
15
-
16
- Or install it yourself as:
17
-
18
- $ gem install art_throughout_the_years
19
-
20
- ## Usage
21
-
22
- Type the below and follow the on screen prompts.
23
-
24
- $ art_throughout_the_years
25
-
26
- ## Development
27
-
28
- After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
29
-
30
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
31
-
32
- ## Contributing
33
-
34
- Bug reports and pull requests are welcome on GitHub at https://github.com/'victorious-cron-4999'/art_throughout_the_years. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
35
-
36
- ## License
37
-
38
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
39
-
40
- ## Code of Conduct
41
-
42
- Everyone interacting in the ArtThroughoutTheYears project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/'victorious-cron-4999'/art_throughout_the_years/blob/master/CODE_OF_CONDUCT.md).
data/Rakefile DELETED
@@ -1,2 +0,0 @@
1
- require "bundler/gem_tasks"
2
- task :default => :spec
data/_config.yml DELETED
@@ -1 +0,0 @@
1
- theme: jekyll-theme-hacker
@@ -1,25 +0,0 @@
1
- require_relative './lib/art_throughout_the_years/version'
2
-
3
- lib = File.expand_path("../lib", __FILE__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require "art_throughout_the_years/version"
6
-
7
- Gem::Specification.new do |spec|
8
- spec.name = "art_throughout_the_years"
9
- spec.version = ArtThroughoutTheYears::VERSION
10
- spec.authors = ["'Christina Gonzalez'"]
11
- spec.email = ["'cmgamway@gmail.com'"]
12
-
13
- spec.summary = %q{A ClI to assist in research and education of the history and progress of art.}
14
- spec.homepage = "https://github.com/CGonzalez0115/art_throughout_the_years.git"
15
- spec.license = "MIT"
16
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
17
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- end
19
- spec.bindir = "exe"
20
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
- spec.require_paths = ["lib"]
22
-
23
- spec.add_development_dependency "bundler", "~> 2.0"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- end
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "art_throughout_the_years"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
@@ -1,28 +0,0 @@
1
- class ArtThroughoutTheYears :: ArtTimelineSearch
2
- ARTISTS = []
3
- TITLE =[]
4
- YEAR = []
5
- TIME_PERIOD =[]
6
-
7
- def call
8
- puts "WELCOME TO YOUR ART HISTORY TIMELINE SEARCH!".indigo.bold
9
- puts "---------"
10
- end
11
-
12
- def start
13
- puts ""
14
- puts "Please type an artist's name, title of work, year, or time period.".navy_blue.bold
15
- puts "(Please input your selection.)".navy_blue
16
- input.gets.strip
17
-
18
- print_timeline(artwork)
19
- end
20
-
21
- def print_timeline(artwork)
22
- puts ""
23
- puts "---------#{artwork.name} - #{artwork.title}---------"
24
- puts "Artist Name: #{artwork.name}"
25
- puts "Title: #{artwork.title}"
26
- puts "Time Period: #{artwork.time_period}"
27
- end
28
- end
@@ -1,3 +0,0 @@
1
- module ArtThroughoutTheYears
2
- VERSION = "0.1.0"
3
- end
@@ -1,33 +0,0 @@
1
- class Works_of_Art
2
-
3
- attr_accessor :name, :year, :title, :url, :description
4
-
5
- @@all = []
6
- def initialize(name)
7
- @name = name
8
- @title = title
9
- @year = []
10
- @@all << self
11
- end
12
-
13
- def self.all
14
- @@all
15
- end
16
-
17
- def list_artists
18
- input = gets.strip
19
- if input == "list"
20
- puts ""
21
- artists = artist.name.all
22
- artists.each_with_index(1) {|artist, index| puts "#{index}, #{artist.name}"}
23
- end
24
- end
25
-
26
- def list_artwork
27
- input = gets.strip
28
- if input == "list"
29
- artwork = artwork.title.all
30
- artwork.each_with_index(1) {|artwork, index| puts "#{index}, #{artwork.name}"}
31
- end
32
- end
33
- end
@@ -1,24 +0,0 @@
1
- class Years
2
-
3
- attr_accessor :year
4
-
5
- @@all = []
6
- def initialize
7
- @year = []
8
- @@all << self
9
- end
10
-
11
- def self.all
12
- @@all
13
- end
14
-
15
- def list_years
16
- input = gets.strip
17
- if input == "list"
18
- puts ""
19
- years = years.name.all
20
- years.each_with_index(1) {|year, index| puts "#{index}, #{year.name}"}
21
- end
22
- end
23
-
24
- end