Last active
August 29, 2015 14:01
-
-
Save muratatak77/85ab126cde8a47691ed8 to your computer and use it in GitHub Desktop.
Assignment5 ( Git - commit - validation - faker gem using)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. Assignment5 diye bir klasor olusturalim assignments altimda. Buna bir alias atayalim a5 yazinca ona girsin. | |
Applications Desktop Documents Downloads Library Movies Music Pictures Public assignment | |
➜ ~ cd Documents/ror | |
➜ ror ls | |
Mercedes.rb assgmnt-5 ctesi-asgn lesson-3-questionss | |
ara-asgnm assignment3 ders2.txt lesson3.rb | |
asgmn3 class Car ders3.txt muratatak@muratatak ~ $ rvm gemset list | |
assg4 classCar.rb gallery.rb rvrs.rb | |
➜ ror cd assgmnt-5 | |
➜ assgmnt-5 ls | |
Assignment5.txt asgmn5.rb | |
➜ assgmnt-5 mkdir assignments | |
➜ assgmnt-5 ls | |
Assignment5.txt asgmn5.rb assignments | |
➜ assgmnt-5 cd assignments | |
➜ assignments ls | |
➜ assignments mkdir Assignment5 | |
➜ assignments ls | |
Assignment5 | |
➜ assignments ls | |
Assignment5 | |
➜ assignments ls | |
Assignment5 | |
➜ assignments pwd | |
/Users/muratatak/Documents/ror/assgmnt-5/assignments | |
➜ assignments cd | |
➜ ~ vi .zshrc | |
➜ ~ vi .zshrc | |
➜ ~ a5 | |
zsh: command not found: a5 | |
➜ ~ vi .zshrc | |
➜ ~ vi .zshrc | |
➜ ~ | |
alias as="cd /Users/muratatak/assignment" | |
alias o="cd /Users/muratatak" | |
alias a5="cd /Users/muratatak/Documents/ror/assgmnt-5/assignments/Assignment5" | |
# Path to your oh-my-zsh installation. | |
export ZSH=$HOME/.oh-my-zsh | |
# Set name of the theme to load. | |
# Look in ~/.oh-my-zsh/themes/ | |
# Optionally, if you set this to "random", it'll load a random theme each | |
# time that oh-my-zsh is loaded. | |
ZSH_THEME="robbyrussell" | |
# Example aliases | |
# alias zshconfig="mate ~/.zshrc" | |
# alias ohmyzsh="mate ~/.oh-my-zsh" | |
2. Bu klasore daha once olusturdugumuz user sinifini kopyalayalim ve git reposu olusturarak bir initial commit yapalim. | |
➜ Assignment5 git init | |
Initialized empty Git repository in /Users/muratatak/Documents/ror/assgmnt-5/assignments/Assignment5/.git/ | |
➜ Assignment5 git:(master) ✗ ls | |
user.rb | |
➜ Assignment5 git:(master) ✗ -ls lash | |
zsh: command not found: -ls | |
➜ Assignment5 git:(master) ✗ -ls lah | |
zsh: command not found: -ls | |
➜ Assignment5 git:(master) ✗ -ls -lah | |
zsh: command not found: -ls | |
➜ Assignment5 git:(master) ✗ ls -lah | |
total 24 | |
drwxr-xr-x 5 muratatak staff 170B May 28 10:34 . | |
drwxr-xr-x 4 muratatak staff 136B May 28 10:33 .. | |
-rw-r--r--@ 1 muratatak staff 6.0K May 28 10:33 .DS_Store | |
drwxr-xr-x 9 muratatak staff 306B May 28 10:34 .git | |
-rw-rw-rw-@ 1 muratatak staff 516B May 24 15:07 user.rb | |
➜ Assignment5 git:(master) ✗ git statsu | |
git: 'statsu' is not a git command. See 'git --help'. | |
Did you mean this? | |
status | |
➜ Assignment5 git:(master) ✗ git status | |
On branch master | |
Initial commit | |
Untracked files: | |
(use "git add <file>..." to include in what will be committed) | |
.DS_Store | |
user.rb | |
nothing added to commit but untracked files present (use "git add" to track) | |
➜ Assignment5 git:(master) ✗ git add . | |
➜ Assignment5 git:(master) ✗ git status | |
On branch master | |
Initial commit | |
Changes to be committed: | |
(use "git rm --cached <file>..." to unstage) | |
new file: .DS_Store | |
new file: user.rb | |
➜ Assignment5 git:(master) ✗ git commit -m "user.rb added" | |
[master (root-commit) 6bd3b38] user.rb added | |
2 files changed, 25 insertions(+) | |
create mode 100644 .DS_Store | |
create mode 100644 user.rb | |
➜ Assignment5 git:(master) git status | |
On branch master | |
nothing to commit, working directory clean | |
➜ Assignment5 git:(master) | |
3. User sinifina yazilip okunabilen nickname diye bir alan ekleyelim. | |
class User | |
include ActiveModel::Validations | |
attr_accessor :id, :name, :city, :email, :bio, :nickname | |
#validates :nickname, exclusion: { in: %w(admin) } | |
validates_each :nickname do |record, attr, value| | |
puts " #{record} - #{attr} - #{value}" | |
record.errors.add attr, 'admin word not using ' if value.to_s == "admin" | |
end | |
def initialize(opt={}) | |
@id = opt[:id] | |
@name = opt[:name] | |
@city = opt[:city] | |
@email = opt[:email] | |
@bio = opt[:bio] | |
@nickname = opt[:nickname] | |
if self.valid? | |
if @id == nil | |
Faker::Number.number(2) | |
end | |
if @name == nil | |
Faker::Name.name | |
end | |
if @city == nil | |
Faker::Address.city | |
end | |
if @email == nil | |
Faker::Internet.free_email | |
end | |
if @bio == nil | |
Faker::Lorem.paragraph(2) | |
end | |
if @nickname == nil | |
Faker::Internet.user_name | |
end | |
puts "Kayit yapildi. id: #{@id} - name: #{@name} , city: #{@city} , email: #{@email} , bio: #{bio} , nickname: #{nickname}" | |
else | |
puts "Kayit yapilamadi. id: #{@id} - name: #{@name} , city: #{@city} , email: #{@email} , bio: #{bio}" | |
end | |
end | |
end | |
➜ Assignment5 git:(master) ✗ irb -r active_model | |
2.1.2 :001 > require './user' | |
=> true | |
2.1.2 :002 > require 'faker' | |
=> true | |
2.1.2 :003 > u = User.new(nickname:"admin") | |
#<User:0x007f8aa12db5f8> - nickname - admin | |
Kayit yapilamadi. id: - name: , city: , email: , bio: | |
=> #<User:0x007f8aa12db5f8 @id=nil, @name=nil, @city=nil, @email=nil, @bio=nil, @nickname="admin", @validation_context=nil, @errors=#<ActiveModel::Errors:0x007f8aa1256f10 @base=#<User:0x007f8aa12db5f8 ...>, @messages={:nickname=>["admin word not using "]}>> | |
2.1.2 :004 > u = User.new(nickname:"admidsdn") | |
#<User:0x007f8aa123d448> - nickname - admidsdn | |
[deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message. | |
Kayit yapildi. id: - name: , city: , email: , bio: , nickname: admidsdn | |
=> #<User:0x007f8aa123d448 @id=nil, @name=nil, @city=nil, @email=nil, @bio=nil, @nickname="admidsdn", @validation_context=nil, @errors=#<ActiveModel::Errors:0x007f8aa123d1f0 @base=#<User:0x007f8aa123d448 ...>, @messages={}>> | |
4. Activemodel validations modulunu kullanarak, "admin" nicki alinmak istendiginde user instance'inin kaydedilmesine izin vermeyelim. | |
➜ Assignment5 git:(master) ✗ irb -r active_model | |
2.1.2 :001 > require '/Users/muratatak/Documents/ror/assgmnt-5/assignments/Assignment5/user' | |
=> true | |
2.1.2 :002 > require 'faker' | |
=> true | |
2.1.2 :003 > user = User.new("","","","","","admin") | |
#<User:0x007ff73c155708> - nickname - admin | |
Kayit yapilamadi. id: - name: , city: , email: , bio: | |
=> #<User:0x007ff73c155708 @id="", @name="", @city="", @email="", @bio="", @nickname="admin", @validation_context=nil, @errors=#<ActiveModel::Errors:0x007ff73b0c1ec8 @base=#<User:0x007ff73c155708 ...>, @messages={:nickname=>["admin word not using "]}>> | |
2.1.2 :004 > user = User.new("","","","","","admin") | |
#<User:0x007ff73b0a9e90> - nickname - admin | |
Kayit yapilamadi. id: - name: , city: , email: , bio: | |
=> #<User:0x007ff73b0a9e90 @id="", @name="", @city="", @email="", @bio="", @nickname="admin", @validation_context=nil, @errors=#<ActiveModel::Errors:0x007ff73b0a9dc8 @base=#<User:0x007ff73b0a9e90 ...>, @messages={:nickname=>["admin word not using "]}>> | |
2.1.2 :005 > user = User.new("","","","","","admidsdsdn") | |
#<User:0x007ff73b090148> - nickname - admidsdsdn | |
Kayit yapildi. id: - name: , city: , email: , bio: | |
=> #<User:0x007ff73b090148 @id="", @name="", @city="", @email="", @bio="", @nickname="admidsdsdn", @validation_context=nil, @errors=#<ActiveModel::Errors:0x007ff73b093668 @base=#<User:0x007ff73b090148 ...>, @messages={}>> | |
2.1.2 :006 > | |
5. Bunu yaptiktan sonra commit'leyelim ve bu projeyi kendi github hesaplarimiza yukleyelim. Sizden istedigim en son elde edeceginiz github linkleri. Google dostunuzdur :) | |
➜ Assignment5 git:(master) ✗ git status | |
On branch master | |
Changes not staged for commit: | |
(use "git add <file>..." to update what will be committed) | |
(use "git checkout -- <file>..." to discard changes in working directory) | |
modified: .DS_Store | |
modified: user.rb | |
no changes added to commit (use "git add" and/or "git commit -a") | |
➜ Assignment5 git:(master) ✗ git add -A | |
➜ Assignment5 git:(master) ✗ git commit -m "user modified. Add validations" | |
[master a2b8801] user modified. Add validations | |
2 files changed, 45 insertions(+), 25 deletions(-) | |
rewrite user.rb (63%) | |
➜ Assignment5 git:(master) git remote add origin https://github.com/muratatak77/Assignment5.git | |
➜ Assignment5 git:(master) git push origin master | |
Username for 'https://github.com': muratatak77 | |
Password for 'https://muratatak77@github.com': | |
Counting objects: 8, done. | |
Delta compression using up to 8 threads. | |
Compressing objects: 100% (8/8), done. | |
Writing objects: 100% (8/8), 1.41 KiB | 0 bytes/s, done. | |
Total 8 (delta 2), reused 0 (delta 0) | |
To https://github.com/muratatak77/Assignment5.git | |
* [new branch] master -> master | |
➜ Assignment5 git:(master) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment