Module: AuthThree::Generators::ControllerHelpers

Included in:
InstallGenerator
Defined in:
lib/generators/controller_helpers.rb

Instance Method Summary collapse

Instance Method Details

#namespace_sessions_contents(namespace_label) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/generators/controller_helpers.rb', line 75

def namespace_sessions_contents(namespace_label)
<<RUBY
  def create
    @user = User.find_by_credentials(
params[:user][:username],
params[:user][:password]
    )

    if @user
login!(@user)
render :"#{namespace_label}/users/show"
    else
render(json: ['Sorry, you entered an incorrect email address or password.'], status: 401)
    end
  end

  def destroy
    @user = current_user
if @user
  logout!
  render json: @user
else
  render(json: ["You are not signed in"], status: 404)
end
  end
RUBY
end

#namespace_users_contents(namespace_label) ⇒ Object



103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/generators/controller_helpers.rb', line 103

def namespace_users_contents(namespace_label)
<<RUBY
  def create
    @user = User.new(user_params)
    if @user.save
login!(@user)
render :show
    else
errors = @user.errors.full_messages
render(json: errors, status: 422)
    end
  end

  def show
    @user = User.find(params[:id])
    render :show
  end

  def update
    @user = User.find(params[:user][:id])
    if @user.update(user_params)
render :show
    else
errors = @user.errors.full_messages
render(json: errors, status: 422)
    end
  end
RUBY
end

#router_contents(namespace_label) ⇒ Object



133
134
135
136
137
138
139
140
141
142
143
# File 'lib/generators/controller_helpers.rb', line 133

def router_contents(namespace_label)
<<-RUBY

  namespace :#{namespace_label}, defaults: {format: :json} do
    resources :users
  end
  namespace :#{namespace_label}, defaults: {format: :json} do
    resource :session
  end
RUBY
end

#sessions_controller_contentsObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/generators/controller_helpers.rb', line 46

def sessions_controller_contents
<<RUBY
  def new
    render :new
  end

  def create
    user = User.find_by_credentials(
params[:user][:username],
params[:user][:password]
    )

    if user
login!(user)
# requires root_url to be set in routes.rb
redirect_to root_url
    else
flash.now[:errors] = ["Invalid username or password"]
render :new
    end
  end

  def destroy
    logout!
    redirect_to new_session_url
  end
RUBY
end

#users_controller_contentsObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/generators/controller_helpers.rb', line 4

def users_controller_contents
<<RUBY
  def show
    @user = User.find(params[:id])
    render :show
  end

  def new
    @user = User.new
    render :new
  end

  def create
    @user = User.new(user_params)

    if @user.save
sign_in(@user)
redirect_to links_url
    else
flash.now[:errors] = @user.errors.full_messages
render :new
    end
  end

  def edit
    @user = User.find(params[:id])
    render :edit
  end

  def update
    @user = User.find(params[:id])
    if @user.update
# default will redirect to root_url, change as you wish
redirect_to root_url
    else
flash.now[:errors] = @user.errors.full_messages
render :edit
    end
  end
RUBY
end